From: Ross Zwisler Date: Thu, 20 Aug 2015 22:27:38 +0000 (-0600) Subject: nfit, nd_blk: BLK status register is only 32 bits X-Git-Tag: v4.1.12-92~18^2^2~153 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=de5045f86fe5c61fc4869f89869cc1050c730404;p=users%2Fjedix%2Flinux-maple.git nfit, nd_blk: BLK status register is only 32 bits Orabug: 22913653 Only read 32 bits for the BLK status register in read_blk_stat(). The format and size of this register is defined in the "NVDIMM Driver Writer's guide": http://pmem.io/documents/NVDIMM_Driver_Writers_Guide.pdf Signed-off-by: Ross Zwisler Reported-by: Nicholas Moulin Tested-by: Nicholas Moulin Reviewed-by: Jeff Moyer Signed-off-by: Dan Williams (cherry picked from commit de4a196c02a2a2631b516d90da6e8d052ccb07e8) Signed-off-by: Dan Duval --- diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c index 628a42c41ab1..bb29e56276bd 100644 --- a/drivers/acpi/nfit.c +++ b/drivers/acpi/nfit.c @@ -1024,7 +1024,7 @@ static void wmb_blk(struct nfit_blk *nfit_blk) wmb_pmem(); } -static u64 read_blk_stat(struct nfit_blk *nfit_blk, unsigned int bw) +static u32 read_blk_stat(struct nfit_blk *nfit_blk, unsigned int bw) { struct nfit_blk_mmio *mmio = &nfit_blk->mmio[DCR]; u64 offset = nfit_blk->stat_offset + mmio->size * bw; @@ -1032,7 +1032,7 @@ static u64 read_blk_stat(struct nfit_blk *nfit_blk, unsigned int bw) if (mmio->num_lines) offset = to_interleave_offset(offset, mmio); - return readq(mmio->base + offset); + return readl(mmio->base + offset); } static void write_blk_ctl(struct nfit_blk *nfit_blk, unsigned int bw,