]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PCI: Use pci_device_id on stack for pci_get_subsys/class() to avoid kmalloc
authorFeng Tang <feng.tang@intel.com>
Thu, 23 Aug 2012 07:45:03 +0000 (15:45 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 24 Aug 2012 18:33:13 +0000 (12:33 -0600)
commitccee7d23102f5e5765ec24779c5b77472af8f79e
tree4401b8291df010cf87cac9039bf9a9d774fd3a92
parent0d7614f09c1ebdbaa1599a5aba7593f147bf96ee
PCI: Use pci_device_id on stack for pci_get_subsys/class() to avoid kmalloc

This fixes a kernel warning https://lkml.org/lkml/2012/7/31/682

pci_get_subsys() may get called in late system reboot stage, using
a sleepable kmalloc() sounds fragile and will cause a kernel warning
with my recent commmit 55c844a "x86/reboot: Fix a warning message
triggered by stop_other_cpus()" which disable local interrupt in
late system shutdown/reboot phase. Using a local parameter instead
will fix it and make it eligible for calling forom atomic context.

Do the same change for the pci_get_class() as suggested by Bjorn Helgaas

[bhelgaas: changelog]
Bisected-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Fengguang Wu <fengguang.wu@intel.com>
drivers/pci/search.c