summaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug/pciehp.h
diff options
context:
space:
mode:
authorRajat Jain2014-02-05 03:31:11 +0100
committerBjorn Helgaas2014-02-12 00:13:16 +0100
commit50b52fdee050745935d92e7026373edea2647e60 (patch)
tree0739f5a0135b070c7626542ffd593074341d950b /drivers/pci/hotplug/pciehp.h
parentPCI: pciehp: Ensure very fast hotplug events are also processed (diff)
downloadkernel-qcow2-linux-50b52fdee050745935d92e7026373edea2647e60.tar.gz
kernel-qcow2-linux-50b52fdee050745935d92e7026373edea2647e60.tar.xz
kernel-qcow2-linux-50b52fdee050745935d92e7026373edea2647e60.zip
PCI: pciehp: Add hotplug_lock to serialize hotplug events
Today it is there is no protection around pciehp_enable_slot() and pciehp_disable_slot() to ensure that they complete before another hot-plug operation can be done on that particular slot. This patch introduces the slot->hotplug_lock to ensure that any hotplug operations (add / remove) complete before another hotplug event can begin processing on that particular slot. Signed-off-by: Rajat Jain <rajatxjain@gmail.com> Signed-off-by: Rajat Jain <rajatjain@juniper.net> Signed-off-by: Guenter Roeck <groeck@juniper.net> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/hotplug/pciehp.h')
-rw-r--r--drivers/pci/hotplug/pciehp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h
index d8d033619a77..8a66866b8cf1 100644
--- a/drivers/pci/hotplug/pciehp.h
+++ b/drivers/pci/hotplug/pciehp.h
@@ -76,6 +76,7 @@ struct slot {
struct hotplug_slot *hotplug_slot;
struct delayed_work work; /* work for button event */
struct mutex lock;
+ struct mutex hotplug_lock;
struct workqueue_struct *wq;
};