diff options
Diffstat (limited to 'drivers/atm/nicstar.h')
-rw-r--r-- | drivers/atm/nicstar.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/atm/nicstar.h b/drivers/atm/nicstar.h index 4e90650c0..7dfa9ec6f 100644 --- a/drivers/atm/nicstar.h +++ b/drivers/atm/nicstar.h @@ -28,6 +28,8 @@ /* Options ********************************************************************/ +#undef NS_DEBUG_SPINLOCKS + #define NS_MAX_CARDS 4 /* Maximum number of NICStAR based cards controlled by the device driver. Must be <= 5 */ @@ -705,6 +707,11 @@ typedef struct scq_info int tbd_count; /* Only meaningful on variable rate */ wait_queue_head_t scqfull_waitq; volatile char full; /* SCQ full indicator */ + spinlock_t lock; /* SCQ spinlock */ +#ifdef NS_DEBUG_SPINLOCKS + volatile long has_lock; + volatile int cpu_lock; +#endif /* NS_DEBUG_SPINLOCKS */ } scq_info; @@ -779,8 +786,14 @@ typedef struct ns_dev struct sk_buff *rcbuf; /* Current raw cell buffer */ u32 rawch; /* Raw cell queue head */ unsigned intcnt; /* Interrupt counter */ - volatile int in_handler: 1; - volatile int in_poll: 1; + spinlock_t int_lock; /* Interrupt lock */ + spinlock_t res_lock; /* Card resource lock */ +#ifdef NS_DEBUG_SPINLOCKS + volatile long has_int_lock; + volatile int cpu_int; + volatile long has_res_lock; + volatile int cpu_res; +#endif /* NS_DEBUG_SPINLOCKS */ } ns_dev; |