From: Andrew Morton Use the macros consistently in ahd_linux_dev_reset(). If ahd_linux_dev_reset() really can be called with local interrupts disabled then yuk. Cc: James Bottomley Signed-off-by: Andrew Morton --- drivers/scsi/aic7xxx/aic79xx_osm.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/scsi/aic7xxx/aic79xx_osm.c~aic79xx-ahd_linux_dev_reset-cleanup drivers/scsi/aic7xxx/aic79xx_osm.c --- 25/drivers/scsi/aic7xxx/aic79xx_osm.c~aic79xx-ahd_linux_dev_reset-cleanup 2005-06-22 21:57:13.000000000 -0700 +++ 25-akpm/drivers/scsi/aic7xxx/aic79xx_osm.c 2005-06-22 21:57:13.000000000 -0700 @@ -1553,7 +1553,7 @@ ahd_linux_dev_reset(Scsi_Cmnd *cmd) ahd_queue_scb(ahd, scb); scb->platform_data->flags |= AHD_SCB_UP_EH_SEM; - spin_unlock_irq(&ahd->platform_data->spin_lock); + ahd_unlock(ahd, &s); init_timer(&timer); timer.data = (u_long)scb; timer.expires = jiffies + (5 * HZ); @@ -1567,7 +1567,7 @@ ahd_linux_dev_reset(Scsi_Cmnd *cmd) printf("Timer Expired\n"); retval = FAILED; } - spin_lock_irq(&ahd->platform_data->spin_lock); + ahd_lock(ahd, &s); ahd_schedule_runq(ahd); ahd_linux_run_complete_queue(ahd); ahd_unlock(ahd, &s); _