Commit f045fd755fe9ba2b15265cd237d6ae5d924689d3
Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
Pull nvdimm fix from Dan Williams: "A single fix for status register read size in the nd_blk driver. The effect of getting the width of this register read wrong is that all I/O fails when the read returns non-zero. Given the availability of ACPI 6 NFIT enabled platforms, this could reasonably wait to come in during the 4.3 merge window with a tag for 4.2-stable. Otherwise, this makes the 4.2 kernel fully functional with devices that conform to the mmio-block-apertures defined in the ACPI 6 NFIT (NVDIMM Firmware Interface Table)" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: nfit, nd_blk: BLK status register is only 32 bits
Showing 1 changed file Side-by-side Diff
drivers/acpi/nfit.c
... | ... | @@ -1024,7 +1024,7 @@ |
1024 | 1024 | wmb_pmem(); |
1025 | 1025 | } |
1026 | 1026 | |
1027 | -static u64 read_blk_stat(struct nfit_blk *nfit_blk, unsigned int bw) | |
1027 | +static u32 read_blk_stat(struct nfit_blk *nfit_blk, unsigned int bw) | |
1028 | 1028 | { |
1029 | 1029 | struct nfit_blk_mmio *mmio = &nfit_blk->mmio[DCR]; |
1030 | 1030 | u64 offset = nfit_blk->stat_offset + mmio->size * bw; |
... | ... | @@ -1032,7 +1032,7 @@ |
1032 | 1032 | if (mmio->num_lines) |
1033 | 1033 | offset = to_interleave_offset(offset, mmio); |
1034 | 1034 | |
1035 | - return readq(mmio->base + offset); | |
1035 | + return readl(mmio->base + offset); | |
1036 | 1036 | } |
1037 | 1037 | |
1038 | 1038 | static void write_blk_ctl(struct nfit_blk *nfit_blk, unsigned int bw, |