diff options
author | Jesper Juhl <jesper.juhl@gmail.com> | 2006-12-04 18:14:48 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-12-20 13:54:43 -0500 |
commit | 9ac0ce8596b17093739d42721cc8a616cedf734b (patch) | |
tree | 799a7def2858511b790106e1fc72c6a1a9b5074e /drivers/pci/quirks.c | |
parent | 1597cacbe39802d86656d1f2e6329895bd2ef531 (diff) |
PCI: Be a bit defensive in quirk_nvidia_ck804() so we don't risk dereferencing a NULL pdev.
pci_get_slot() may return NULL if nothing was found. quirk_nvidia_ck804()
does not check the value returned from pci_get_slot(), so it may end up
causing a NULL pointer deref.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/quirks.c')
-rw-r--r-- | drivers/pci/quirks.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 30c41fc1c996..8a2db01b903e 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -1743,6 +1743,8 @@ static void __devinit quirk_nvidia_ck804_msi_ht_cap(struct pci_dev *dev) | |||
1743 | * a single one having MSI is enough to be sure that MSI are supported. | 1743 | * a single one having MSI is enough to be sure that MSI are supported. |
1744 | */ | 1744 | */ |
1745 | pdev = pci_get_slot(dev->bus, 0); | 1745 | pdev = pci_get_slot(dev->bus, 0); |
1746 | if (!pdev) | ||
1747 | return; | ||
1746 | if (!msi_ht_cap_enabled(dev) && !msi_ht_cap_enabled(pdev)) { | 1748 | if (!msi_ht_cap_enabled(dev) && !msi_ht_cap_enabled(pdev)) { |
1747 | printk(KERN_WARNING "PCI: MSI quirk detected. " | 1749 | printk(KERN_WARNING "PCI: MSI quirk detected. " |
1748 | "MSI disabled on chipset %s.\n", | 1750 | "MSI disabled on chipset %s.\n", |