aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/search.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2006-12-04 18:14:45 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-12-20 13:54:43 -0500
commit1597cacbe39802d86656d1f2e6329895bd2ef531 (patch)
tree23036b221b31f154118582af7dbc5cd35fc97bc8 /drivers/pci/search.c
parentbeb7cc8238a8334d86c96bf32bf66182db3b619f (diff)
PCI: Fix multiple problems with VIA hardware
This patch is designed to fix: - Disk eating corruptor on KT7 after resume from RAM - VIA IRQ handling - VIA fixups for bus lockups after resume from RAM The core of this is to add a table of resume fixups run at resume time. We need to do this for a variety of boards and features, but particularly we need to do this to get various critical VIA fixups done on resume. The second part of the problem is to handle VIA IRQ number rules which are a bit odd and need special handling for PIC interrupts. Various patches broke various boxes and while this one may not be perfect (hopefully it is) it ensures the workaround is applied to the right devices only. From: Jean Delvare <khali@linux-fr.org> Now that PCI quirks are replayed on software resume, we can safely re-enable the Asus SMBus unhiding quirk even when software suspend support is enabled. [akpm@osdl.org: fix const warning] Signed-off-by: Alan Cox <alan@redhat.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/search.c')
-rw-r--r--drivers/pci/search.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/pci/search.c b/drivers/pci/search.c
index 2bbafe0f79b1..45f2b20ef513 100644
--- a/drivers/pci/search.c
+++ b/drivers/pci/search.c
@@ -416,7 +416,7 @@ exit:
416const struct pci_device_id *pci_find_present(const struct pci_device_id *ids) 416const struct pci_device_id *pci_find_present(const struct pci_device_id *ids)
417{ 417{
418 struct pci_dev *dev; 418 struct pci_dev *dev;
419 struct pci_device_id * found = NULL; 419 const struct pci_device_id *found = NULL;
420 420
421 WARN_ON(in_interrupt()); 421 WARN_ON(in_interrupt());
422 down_read(&pci_bus_sem); 422 down_read(&pci_bus_sem);
@@ -442,7 +442,6 @@ const struct pci_device_id *pci_find_present(const struct pci_device_id *ids)
442 * find devices that are usually built into a system, or for a general hint as 442 * find devices that are usually built into a system, or for a general hint as
443 * to if another device happens to be present at this specific moment in time. 443 * to if another device happens to be present at this specific moment in time.
444 */ 444 */
445
446int pci_dev_present(const struct pci_device_id *ids) 445int pci_dev_present(const struct pci_device_id *ids)
447{ 446{
448 return pci_find_present(ids) == NULL ? 0 : 1; 447 return pci_find_present(ids) == NULL ? 0 : 1;