|
@@ -44,9 +44,20 @@ struct ilo_hwinfo {
|
|
|
|
|
|
struct pci_dev *ilo_dev;
|
|
|
|
|
|
+ /*
|
|
|
+ * open_lock serializes ccb_cnt during open and close
|
|
|
+ * [ irq disabled ]
|
|
|
+ * -> alloc_lock used when adding/removing/searching ccb_alloc,
|
|
|
+ * which represents all ccbs open on the device
|
|
|
+ * --> fifo_lock controls access to fifo queues shared with hw
|
|
|
+ *
|
|
|
+ * Locks must be taken in this order, but open_lock and alloc_lock
|
|
|
+ * are optional, they do not need to be held in order to take a
|
|
|
+ * lower level lock.
|
|
|
+ */
|
|
|
+ spinlock_t open_lock;
|
|
|
spinlock_t alloc_lock;
|
|
|
spinlock_t fifo_lock;
|
|
|
- spinlock_t open_lock;
|
|
|
|
|
|
struct cdev cdev;
|
|
|
};
|