lkml.org 
[lkml]   [2015]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[GIT PULL] libnvdimm fixes for 4.4-rc4
Date
Hi Linus, please pull from...

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes

...to receive:

1/ NFIT parsing regression fixes from Linda.  The nvdimm hot-add
implementation merged in 4.4-rc1 interpreted the specification in a way
that breaks actual HPE platforms.  We are also closing the loop with
the ACPI Working Group to get this clarification added to the spec.

2/ Andy pointed out that his laptop without nvdimm resources is loading
the e820-nvdimm module by default, fix that up to only load the module
when an e820-type-12 range is present.

The following changes since commit 31ade3b83e1821da5fbb2f11b5b3d4ab2ec39db8:

  Linux 4.4-rc3 (2015-11-29 18:58:26 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes

for you to fetch changes up to 6b577c9d772c45448aec784ec235cea228b4d3ad:

  nfit: Adjust for different _FIT and NFIT headers (2015-11-30 14:51:46 -0800)

----------------------------------------------------------------
Dan Williams (1):
      libnvdimm, e820: skip module loading when no type-12

Linda Knippers (3):
      nfit: Account for table size length variation
      nfit: Fix the check for a successful NFIT merge
      nfit: Adjust for different _FIT and NFIT headers

 arch/x86/kernel/pmem.c           | 12 ++++++++
 drivers/acpi/nfit.c              | 65 +++++++++++++++++++++++++++++-----------
 drivers/acpi/nfit.h              |  3 +-
 tools/testing/nvdimm/test/nfit.c | 49 ++++++++++--------------------
 4 files changed, 76 insertions(+), 53 deletions(-)

commit 6b577c9d772c45448aec784ec235cea228b4d3ad
Author: Linda Knippers <linda.knippers@hpe.com>
Date:   Fri Nov 20 19:05:49 2015 -0500

    nfit: Adjust for different _FIT and NFIT headers
    
    When support for _FIT was added, the code presumed that the data
    returned by the _FIT method is identical to the NFIT table, which
    starts with an acpi_table_header.  However, the _FIT is defined
    to return a data in the format of a series of NFIT type structure
    entries and as a method, has an acpi_object header rather tahn
    an acpi_table_header.
    
    To address the differences, explicitly save the acpi_table_header
    from the NFIT, since it is accessible through /sys, and change
    the nfit pointer in the acpi_desc structure to point to the
    table entries rather than the headers.
    
    Reported-by: Jeff Moyer (jmoyer@redhat.com>
    Signed-off-by: Linda Knippers <linda.knippers@hpe.com>
    Acked-by: Vishal Verma <vishal.l.verma@intel.com>
    [vishal: fix up unit test for new header assumptions]
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

commit ff5a55f89c6690a0b292f1a7e0cd4532961588d5
Author: Linda Knippers <linda.knippers@hpe.com>
Date:   Fri Nov 20 19:05:48 2015 -0500

    nfit: Fix the check for a successful NFIT merge
    
    Missed previously due to a lack of test coverage on a platform that
    provided an valid response to _FIT.
    
    Signed-off-by: Linda Knippers <linda.knippers@hpe.com>
    Acked-by: Vishal Verma <vishal.l.verma@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

commit 826c416f3c9493b69630a811832cfb7c9007f840
Author: Linda Knippers <linda.knippers@hpe.com>
Date:   Fri Nov 20 19:05:47 2015 -0500

    nfit: Account for table size length variation
    
    The size of NFIT tables don't necessarily match the size of the
    data structures that we use for them.  For example, the NVDIMM
    Control Region Structure table is shorter for a device with
    no block control windows than for a device with block control windows.
    Other tables, such as Flush Hint Address Structure and the Interleave
    Structure are variable length by definition.
    
    Account for the size difference when comparing table entries by
    using the actual table size from the table header if it's less
    than the structure size.
    
    Signed-off-by: Linda Knippers <linda.knippers@hpe.com>
    Acked-by: Vishal Verma <vishal.l.verma@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

commit bc0d0d093b379b0b379c429e3348498287c8a9ca
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Mon Nov 30 09:10:33 2015 -0800

    libnvdimm, e820: skip module loading when no type-12
    
    If there are no persistent memory ranges present then don't bother
    creating the platform device.  Otherwise, it loads the full libnvdimm
    sub-system only to discover no resources present.
    
    Reported-by: Andy Lutomirski <luto@amacapital.net>
    Acked-by: Andy Lutomirski <luto@amacapital.net>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>

\
 
 \ /
  Last update: 2015-12-04 20:41    [W:0.035 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site