lkml.org 
[lkml]   [1998]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: SCSI issues
From
Date
Shane Jensen <shane@sumus.com> writes:

|> Problem:
|> A faulty cable connection was causing intermittent problems with the scsi bus. The 2.0.x kernels, the command would time out, bus would reset, log an error and the machine would come back to life and
|> work for an undetermined amount of time and then repeat.

|> With the 2.1.x kernels that I have tried (>2.1.80) so far, the system locks up solid. I've tried the standard aic7xxx drivers and the updated drivers. In any event, the lock up doesn't log any
|> information to a file or the console.

Please try this patch:

--- drivers/scsi/scsi_obsolete.c.~1~ Wed Mar 18 11:00:35 1998
+++ drivers/scsi/scsi_obsolete.c Wed Mar 18 10:59:15 1998
@@ -152,6 +152,7 @@

void scsi_old_times_out (Scsi_Cmnd * SCpnt)
{
+ SCpnt->serial_number_at_timeout = SCpnt->serial_number;

switch (SCpnt->internal_timeout & (IN_ABORT | IN_RESET | IN_RESET2 | IN_RESET3))
{
@@ -163,12 +164,12 @@
}

if (!scsi_abort (SCpnt, DID_TIME_OUT))
- return;
+ break;
case IN_ABORT:
printk("SCSI host %d abort (pid %ld) timed out - resetting\n",
SCpnt->host->host_no, SCpnt->pid);
if (!scsi_reset (SCpnt, SCSI_RESET_ASYNCHRONOUS))
- return;
+ break;
case IN_RESET:
case (IN_ABORT | IN_RESET):
/* This might be controversial, but if there is a bus hang,
@@ -182,7 +183,7 @@
SCpnt->internal_timeout |= IN_RESET2;
scsi_reset (SCpnt,
SCSI_RESET_ASYNCHRONOUS | SCSI_RESET_SUGGEST_BUS_RESET);
- return;
+ break;
case (IN_ABORT | IN_RESET | IN_RESET2):
/* Obviously the bus reset didn't work.
* Let's try even harder and call for an HBA reset.
@@ -194,16 +195,17 @@
SCpnt->internal_timeout |= IN_RESET3;
scsi_reset (SCpnt,
SCSI_RESET_ASYNCHRONOUS | SCSI_RESET_SUGGEST_HOST_RESET);
- return;
+ break;

default:
printk("SCSI host %d reset (pid %ld) timed out again -\n",
SCpnt->host->host_no, SCpnt->pid);
printk("probably an unrecoverable SCSI bus or device hang.\n");
- return;
+ break;

}

+ SCpnt->serial_number_at_timeout = 0;
}


--
Andreas Schwab "And now for something
schwab@issan.informatik.uni-dortmund.de completely different"
schwab@gnu.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 13:41    [W:0.027 / U:0.720 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site