aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Altobelli <david.altobelli@hp.com>2009-09-18 15:46:26 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-12-11 14:24:51 -0500
commit68ea809af47d8a4dd92dd3a8720882767fdf51b6 (patch)
tree3844a706dabb83fb6535181471cccde7beba489e
parentd71cb81af3817193bc605de061da0499934263a6 (diff)
hpilo: add locking comment
Add explanation about lock nesting and purpose of each lock in hpilo. Signed-off-by: David Altobelli <david.altobelli@hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/misc/hpilo.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/misc/hpilo.h b/drivers/misc/hpilo.h
index 38576050776a..247eb386a973 100644
--- a/drivers/misc/hpilo.h
+++ b/drivers/misc/hpilo.h
@@ -44,9 +44,20 @@ struct ilo_hwinfo {
44 44
45 struct pci_dev *ilo_dev; 45 struct pci_dev *ilo_dev;
46 46
47 /*
48 * open_lock serializes ccb_cnt during open and close
49 * [ irq disabled ]
50 * -> alloc_lock used when adding/removing/searching ccb_alloc,
51 * which represents all ccbs open on the device
52 * --> fifo_lock controls access to fifo queues shared with hw
53 *
54 * Locks must be taken in this order, but open_lock and alloc_lock
55 * are optional, they do not need to be held in order to take a
56 * lower level lock.
57 */
58 spinlock_t open_lock;
47 spinlock_t alloc_lock; 59 spinlock_t alloc_lock;
48 spinlock_t fifo_lock; 60 spinlock_t fifo_lock;
49 spinlock_t open_lock;
50 61
51 struct cdev cdev; 62 struct cdev cdev;
52}; 63};