PCI: hotplug/cpqphp, fix NULL dereference
authorJiri Slaby <jslaby@suse.cz>
Wed, 9 Jun 2010 20:31:13 +0000 (22:31 +0200)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 11 Jun 2010 20:10:21 +0000 (13:10 -0700)
commita7ef7d1f5e898984c479e8c41ca702141bbadc78
treefa742fbb39071799d02652cf5cbbca3f25af5724
parent3be434f0244ee059432f92de7e891ee514f41738
PCI: hotplug/cpqphp, fix NULL dereference

There are devices out there which are PCI Hot-plug controllers with
compaq PCI IDs, but are not bridges, hence have pdev->subordinate
NULL. But cpqphp expects the pointer to be non-NULL.

Add a check to the probe function to avoid oopses like:
BUG: unable to handle kernel NULL pointer dereference at 00000050
IP: [<f82e3c41>] cpqhpc_probe+0x951/0x1120 [cpqphp]
*pdpt = 0000000033779001 *pde = 0000000000000000
...

The device here was:
00:0b.0 PCI Hot-plug controller [0804]: Compaq Computer Corporation PCI Hotplug Controller [0e11:a0f7] (rev 11)
Subsystem: Compaq Computer Corporation Device [0e11:a2f8]

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/hotplug/cpqphp_core.c