Commit f045fd755fe9ba2b15265cd237d6ae5d924689d3

Authored by Linus Torvalds

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

... ... @@ -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,