[PATCH] lk 2.5.3 advansys scsi driver

From: Douglas Gilbert (dougg@torque.net)
Date: Sat Feb 02 2002 - 12:07:22 EST


The advansys driver is getting better but will not compile
on a SMP machine due to a missing "&" on line 5874:
   spin_lock_irqsave(boardp->lock, flags);

The attachment fixes this and cleans up doco and compile
errors when ADVANSYS_DEBUG is defined.
The driver works fine on my UP and SMP boxes with lk 2.5.3
with this patch.

Doug Gilbert

--- linux/drivers/scsi/advansys.c Wed Jan 30 19:19:24 2002
+++ linux/drivers/scsi/advansys.cmin5 Sun Jan 20 11:42:44 2002
@@ -1,4 +1,4 @@
-#define ASC_VERSION "3.3GG" /* AdvanSys Driver Version */
+#define ASC_VERSION "3.3GH" /* AdvanSys Driver Version */
 
 /*
  * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters
@@ -670,7 +670,7 @@
          1. Return an error from narrow boards if passed a 16 byte
             CDB. The wide board can already handle 16 byte CDBs.
 
- 3.3GG (01/02/02):
+ 3.3GH (1/20/02):
          1. hacks for lk 2.5 series (D. Gilbert)
 
   I. Known Problems/Fix List (XXX)
@@ -3613,23 +3613,6 @@
 #define ASC_MIN(a, b) (((a) < (b)) ? (a) : (b))
 #endif /* CONFIG_PROC_FS */
 
-/*
- * XXX - Release and acquire the io_request_lock. These macros are needed
- * because the 2.4 kernel SCSI mid-level driver holds the 'io_request_lock'
- * on entry to SCSI low-level drivers.
- *
- * These definitions and all code that uses code should be removed when the
- * SCSI mid-level driver no longer holds the 'io_request_lock' on entry to
- * SCSI low-level driver detect, queuecommand, and reset entrypoints.
- *
- * The interrupt flags values doesn't matter in the macros because the
- * SCSI mid-level will save and restore the flags values before and after
- * calling advansys_detect, advansys_queuecommand, and advansys_reset where
- * these macros are used. We do want interrupts enabled after the lock is
- * released so an explicit sti() is done. The driver only needs interrupts
- * disabled when it acquires the per board lock.
- */
-
 /* Asc Library return codes */
 #define ASC_TRUE 1
 #define ASC_FALSE 0
@@ -4821,7 +4804,7 @@
             boardp->id = asc_board_count - 1;
 
             /* Initialize spinlock. */
- boardp->lock = SPIN_LOCK_UNLOCKED; /* replaced by host_lock dpg */
+ boardp->lock = SPIN_LOCK_UNLOCKED;
 
             /*
              * Handle both narrow and wide boards.
@@ -5871,7 +5854,7 @@
 
     /* host_lock taken by mid-level prior to call but need to protect */
     /* against own ISR */
- spin_lock_irqsave(boardp->lock, flags);
+ spin_lock_irqsave(&boardp->lock, flags);
 
     /*
      * Block new commands while handling a reset or abort request.
@@ -9414,8 +9397,8 @@
 
     printk("Scsi_Host at addr 0x%lx\n", (ulong) s);
     printk(
-" next 0x%lx, extra_bytes %u, host_busy %u, host_no %d, last_reset %d,\n",
- (ulong) s->next, s->extra_bytes, s->host_busy, s->host_no,
+" next 0x%lx, host_busy %u, host_no %d, last_reset %d,\n",
+ (ulong) s->next, s->host_busy, s->host_no,
         (unsigned) s->last_reset);
 
 #if ASC_LINUX_KERNEL24

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Feb 07 2002 - 21:00:23 EST