diff options
author | Hannes Reinecke <hare@suse.de> | 2006-01-30 10:10:31 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2006-01-31 15:39:50 -0500 |
commit | eb221849540b7f4165c58b6c79d98b97ac902fdb (patch) | |
tree | 606f04871288b2b062f52fe2804e9320aa924644 /drivers/scsi/aic7xxx/aic79xx_osm.h | |
parent | d60256b1b3ceb79cb06a5dd5e259b23bd27d4c61 (diff) |
[SCSI] aic79xx: Fix timer handling
Fix the timer handling in aic79xx to use the SCSI-ML provided handling
instead of implementing our own.
It also fixes a deadlock in the command recovery code.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic7xxx/aic79xx_osm.h')
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_osm.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.h b/drivers/scsi/aic7xxx/aic79xx_osm.h index 854fc57c304c..9cb101345107 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.h +++ b/drivers/scsi/aic7xxx/aic79xx_osm.h | |||
@@ -228,7 +228,6 @@ typedef struct timer_list ahd_timer_t; | |||
228 | typedef void ahd_linux_callback_t (u_long); | 228 | typedef void ahd_linux_callback_t (u_long); |
229 | static __inline void ahd_timer_reset(ahd_timer_t *timer, int usec, | 229 | static __inline void ahd_timer_reset(ahd_timer_t *timer, int usec, |
230 | ahd_callback_t *func, void *arg); | 230 | ahd_callback_t *func, void *arg); |
231 | static __inline void ahd_scb_timer_reset(struct scb *scb, u_int usec); | ||
232 | 231 | ||
233 | static __inline void | 232 | static __inline void |
234 | ahd_timer_reset(ahd_timer_t *timer, int usec, ahd_callback_t *func, void *arg) | 233 | ahd_timer_reset(ahd_timer_t *timer, int usec, ahd_callback_t *func, void *arg) |
@@ -243,12 +242,6 @@ ahd_timer_reset(ahd_timer_t *timer, int usec, ahd_callback_t *func, void *arg) | |||
243 | add_timer(timer); | 242 | add_timer(timer); |
244 | } | 243 | } |
245 | 244 | ||
246 | static __inline void | ||
247 | ahd_scb_timer_reset(struct scb *scb, u_int usec) | ||
248 | { | ||
249 | mod_timer(&scb->io_ctx->eh_timeout, jiffies + (usec * HZ)/1000000); | ||
250 | } | ||
251 | |||
252 | /***************************** SMP support ************************************/ | 245 | /***************************** SMP support ************************************/ |
253 | #include <linux/spinlock.h> | 246 | #include <linux/spinlock.h> |
254 | 247 | ||
@@ -389,7 +382,6 @@ struct ahd_platform_data { | |||
389 | 382 | ||
390 | spinlock_t spin_lock; | 383 | spinlock_t spin_lock; |
391 | u_int qfrozen; | 384 | u_int qfrozen; |
392 | struct timer_list reset_timer; | ||
393 | struct semaphore eh_sem; | 385 | struct semaphore eh_sem; |
394 | struct Scsi_Host *host; /* pointer to scsi host */ | 386 | struct Scsi_Host *host; /* pointer to scsi host */ |
395 | #define AHD_LINUX_NOIRQ ((uint32_t)~0) | 387 | #define AHD_LINUX_NOIRQ ((uint32_t)~0) |