linux/drivers/pnp
Bjorn Helgaas 445a1d3e24 PNP: disable Supermicro H8DCE motherboard resources that overlap SATA BARs
Some Supermicro BIOSes describe a SATA PCI BAR as a motherboard resource.
The PNP system driver claims motherboard resources, and this prevents the
sata_nv driver from requesting it later.

This patch disables the PNP0C01/PNP0C02 resources so they won't be claimed
by the PNP system driver, so they'll available for sata_nv.

This fixes the bugs below, where sata_nv detects only two out of four SATA
drives.  The signature includes dmesg lines similar to these:

  pnp: 00:09: iomem range 0xdfefc000-0xdfefcfff has been reserved
  pnp: 00:09: iomem range 0xdfefd000-0xdfefd3ff has been reserved
  pnp: 00:09: iomem range 0xdfefe000-0xdfefe3ff has been reserved

  PCI: Unable to reserve mem region #6:1000@dfefd000 for device 0000:80:07.0
  sata_nv: probe of 0000:80:07.0 failed with error -16
  PCI: Unable to reserve mem region #6:1000@dfefe000 for device 0000:80:08.0
  sata_nv: probe of 0000:80:08.0 failed with error -16

References:
    https://bugzilla.redhat.com/show_bug.cgi?id=280641
    https://bugzilla.redhat.com/show_bug.cgi?id=313491
    http://lkml.org/lkml/2008/1/9/449
    http://thread.gmane.org/gmane.linux.acpi.devel/27312

This is post-2.6.24 material.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-06 10:41:20 -08:00
..
isapnp [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
pnpacpi pnp: declare PNP option parsing functions as __init 2008-02-06 10:41:19 -08:00
pnpbios pnp: declare PNP option parsing functions as __init 2008-02-06 10:41:19 -08:00
base.h
card.c PNP: use dev_info(), dev_err(), etc in core 2007-10-17 08:43:04 -07:00
core.c PNP: add debug message for adding new device 2007-10-17 08:43:04 -07:00
driver.c PNP: do not test PNP_DRIVER_RES_DO_NOT_CHANGE on suspend/resume 2008-02-06 10:41:20 -08:00
interface.c isapnp driver semaphore to mutex 2008-02-06 10:41:20 -08:00
Kconfig
Makefile PNP: use dev_info(), dev_err(), etc in core 2007-10-17 08:43:04 -07:00
manager.c isapnp driver semaphore to mutex 2008-02-06 10:41:20 -08:00
quirks.c PNP: disable Supermicro H8DCE motherboard resources that overlap SATA BARs 2008-02-06 10:41:20 -08:00
resource.c drivers/pnp/resource.c: Add missing pci_dev_put 2007-11-29 09:24:52 -08:00
support.c
system.c PNP: use dev_info() in system driver 2007-10-17 08:43:04 -07:00