[patch] 2.2.18pre19: ppa 2.05

From: Tim Waugh (tim@cyberelk.demon.co.uk)
Date: Sun Nov 05 2000 - 17:02:01 EST


Alan,

Here is a patch to update the ppa driver in 2.2.x to 2.05. I'm using
it here.

Tim.
*/

--- linux/drivers/scsi/ppa.c.pjc Sat Nov 4 16:48:07 2000
+++ linux/drivers/scsi/ppa.c Sat Nov 4 16:53:13 2000
@@ -299,12 +299,11 @@
     unsigned char r;
 
     k = PPA_SPIN_TMO;
- do {
- r = r_str(ppb);
- k--;
- udelay(1);
+ /* Wait for bit 6 and 7 - PJC */
+ for (r = r_str (ppb); ((r & 0xc0)!=0xc0) && (k); k--) {
+ udelay (1);
+ r = r_str (ppb);
     }
- while (!(r & 0x80) && (k));
 
     /*
      * return some status information.
@@ -653,11 +652,7 @@
             (v == WRITE_6) ||
             (v == WRITE_10));
 
- /*
- * We only get here if the drive is ready to comunicate,
- * hence no need for a full ppa_wait.
- */
- r = (r_str(ppb) & 0xf0);
+ r = ppa_wait(host_no); /* Need a ppa_wait() - PJC */
 
     while (r != (unsigned char) 0xf0) {
         /*
@@ -695,7 +690,7 @@
             }
         }
         /* Now check to see if the drive is ready to comunicate */
- r = (r_str(ppb) & 0xf0);
+ r = ppa_wait(host_no); /* need ppa_wait() - PJC */
         /* If not, drop back down to the scheduler and wait a timer tick */
         if (!(r & 0x80))
             return 0;
--- linux/drivers/scsi/ppa.h.pjc Sat Nov 4 16:54:11 2000
+++ linux/drivers/scsi/ppa.h Sat Nov 4 16:56:44 2000
@@ -10,7 +10,7 @@
 #ifndef _PPA_H
 #define _PPA_H
 
-#define PPA_VERSION "2.03 (for Linux 2.2.x)"
+#define PPA_VERSION "2.05 (for Linux 2.2.x)"
 
 /*
  * this driver has been hacked by Matteo Frigo (athena@theory.lcs.mit.edu)
@@ -51,6 +51,13 @@
  * CONFIG_SCSI_PPA_HAVE_PEDANTIC => CONFIG_SCSI_IZIP_EPP16
  * added CONFIG_SCSI_IZIP_SLOW_CTR option
  * [2.03]
+ *
+ * Use ppa_wait() to check for ready AND connected status bits
+ * Add ppa_wait() calls to ppa_completion()
+ * by Peter Cherriman <pjc@ecs.soton.ac.uk> and
+ * Tim Waugh <twaugh@redhat.com>
+ * [2.04]
+ * Fix kernel panic on scsi timeout, 2000-08-18 [2.05]
  */
 /* ------ END OF USER CONFIGURABLE PARAMETERS ----- */
 
@@ -166,6 +173,7 @@
                 eh_device_reset_handler: NULL, \
                 eh_bus_reset_handler: ppa_reset, \
                 eh_host_reset_handler: ppa_reset, \
+ use_new_eh_code: 1, \
                 bios_param: ppa_biosparam, \
                 this_id: -1, \
                 sg_tablesize: SG_ALL, \
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Nov 07 2000 - 21:00:17 EST