summaryrefslogtreecommitdiffstats
path: root/kernel/sched
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-02-03 02:22:17 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-02-03 22:28:18 +0100
commitf41b32613138ae05329a0f0e7170223b775d6b24 (patch)
tree9bc5cefef02934ca2a7fdb5308a58cf49909ea01 /kernel/sched
parent2d7c1b77dd59387070aab355532dd157f888325c (diff)
downloadop-kernel-dev-f41b32613138ae05329a0f0e7170223b775d6b24.zip
op-kernel-dev-f41b32613138ae05329a0f0e7170223b775d6b24.tar.gz
ACPI / hotplug / PCI: Move PCI rescan-remove locking to hotplug_event()
Commit 9217a984671e (ACPI / hotplug / PCI: Use global PCI rescan-remove locking) modified ACPIPHP to protect its PCI device removal and addition code paths from races against sysfs-driven rescan and remove operations with the help of PCI rescan-remove locking. However, it overlooked the fact that hotplug_event_work() is not the only caller of hotplug_event() which may also be called by dock_hotplug_event() and that code path is missing the PCI rescan-remove locking. This means that, although the PCI rescan-remove lock is held as appropriate during the handling of events originating from handle_hotplug_event(), the ACPIPHP's operations resulting from dock events may still suffer the race conditions that commit 9217a984671e was supposed to eliminate. To address that problem, move the PCI rescan-remove locking from hotplug_event_work() to hotplug_event() so that it is used regardless of the way that function is invoked. Revamps: 9217a984671e (ACPI / hotplug / PCI: Use global PCI rescan-remove locking) Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'kernel/sched')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud