diff options
author | Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> | 2007-05-31 09:43:34 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-07-11 16:02:08 -0700 |
commit | f477836457730a2b925f625023ec4e5bf11015be (patch) | |
tree | 178c8e7efd7a3f8f0220d3da537d649f4cb1278f /drivers/pci/hotplug/pciehp.h | |
parent | adf809d01043d8808e47db2d35fc07b53062884e (diff) | |
download | op-kernel-dev-f477836457730a2b925f625023ec4e5bf11015be.zip op-kernel-dev-f477836457730a2b925f625023ec4e5bf11015be.tar.gz |
PCI: hotplug: pciehp: Fix possible race condition in writing slot
The slot control register is modified as follows:
(1) Read the register value
(2) Change the value
(3) Write the value to the register
Those must be done atomically, otherwise writing to control register
would cause an unexpected result.
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/hotplug/pciehp.h')
-rw-r--r-- | drivers/pci/hotplug/pciehp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h index ccc5762..7959c22 100644 --- a/drivers/pci/hotplug/pciehp.h +++ b/drivers/pci/hotplug/pciehp.h @@ -103,6 +103,7 @@ struct controller { u8 cap_base; struct timer_list poll_timer; volatile int cmd_busy; + spinlock_t lock; }; #define INT_BUTTON_IGNORE 0 |