summaryrefslogtreecommitdiff
path: root/sound/pci/cs5530.c
diff options
context:
space:
mode:
authorFeng Tang <feng.tang@intel.com>2012-08-23 07:45:03 (GMT)
committerBjorn Helgaas <bhelgaas@google.com>2012-08-24 18:33:13 (GMT)
commitb9443f401bb20ae6414e3e68bca0413bad28b689 (patch)
tree3ca037179461b893083963acd166b6835a0da47c /sound/pci/cs5530.c
parent0d7614f09c1ebdbaa1599a5aba7593f147bf96ee (diff)
downloadlinux-b9443f401bb20ae6414e3e68bca0413bad28b689.tar.xz
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 from atomic context. Do the same change for the pci_get_class() as suggested by Bjorn Helgaas. Initializing the on-stack struct pci_device_id suggested by Fengguang Wu and Jiri Slaby. Section 6.7.8 of the C99 standard guarantees that when we initialize some of the struct members, the rest of the struct is implicitly initialized the same as objects with static storage duration, i.e., to zero in this case. [bhelgaas: changelog, incorporate Fengguang/Jiri initialization fix] Bisected-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Fengguang Wu <fengguang.wu@intel.com>
Diffstat (limited to 'sound/pci/cs5530.c')
0 files changed, 0 insertions, 0 deletions