Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm

Pull libnvcimm fix from Dan Williams:
"One straggling fix for NVDIMM support.

The KVM/QEMU enabling for NVDIMMs has recently reached the point where
it is able to accept some ACPI _DSM requests from a guest VM. However
they immediately found that the 4.5-rc kernel is unusable because the
kernel's 'nfit' driver fails to load upon seeing a valid "not
supported" response from the virtual BIOS for an address range scrub
command.

It is not mandatory that a platform implement address range scrubbing,
so this fix from Vishal properly treats the 'not supported' response
as 'skip scrubbing and continue loading the driver'"

* 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
nfit: Continue init even if ARS commands are unimplemented

+11 -4
+11 -4
drivers/acpi/nfit.c
··· 1590 1590 start = ndr_desc->res->start; 1591 1591 len = ndr_desc->res->end - ndr_desc->res->start + 1; 1592 1592 1593 + /* 1594 + * If ARS is unimplemented, unsupported, or if the 'Persistent Memory 1595 + * Scrub' flag in extended status is not set, skip this but continue 1596 + * initialization 1597 + */ 1593 1598 rc = ars_get_cap(nd_desc, ars_cap, start, len); 1599 + if (rc == -ENOTTY) { 1600 + dev_dbg(acpi_desc->dev, 1601 + "Address Range Scrub is not implemented, won't create an error list\n"); 1602 + rc = 0; 1603 + goto out; 1604 + } 1594 1605 if (rc) 1595 1606 goto out; 1596 1607 1597 - /* 1598 - * If ARS is unsupported, or if the 'Persistent Memory Scrub' flag in 1599 - * extended status is not set, skip this but continue initialization 1600 - */ 1601 1608 if ((ars_cap->status & 0xffff) || 1602 1609 !(ars_cap->status >> 16 & ND_ARS_PERSISTENT)) { 1603 1610 dev_warn(acpi_desc->dev,