public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] correct sym2 error handling functions
@ 2004-03-21 15:53 James Bottomley
  0 siblings, 0 replies; only message in thread
From: James Bottomley @ 2004-03-21 15:53 UTC (permalink / raw)
  To: willy; +Cc: SCSI Mailing List

The sym2 driver has a nasty thinko in its error handling that looks to
have been present from day one.

The problem is that if it decides that the command it is requested to
handle isn't in its internal queues, it simply returns FAILED.  This
means that the eh will offline the device if we get into this state.

It's very easy to trip this, because a timed out command may complete
before the eh activates, and the driver would then not find the command
on the bus.

The rules are:

If requested to abort a command that's not present on the bus, you may
return SUCCESS (*not* FAILED), but devices must obey all other error
handler requests (device, bus and host reset) regardless of whether they
find the command or not.

James

===== drivers/scsi/sym53c8xx_2/sym_glue.c 1.44 vs edited =====
--- 1.44/drivers/scsi/sym53c8xx_2/sym_glue.c	Sat Mar 20 16:00:09 2004
+++ edited/drivers/scsi/sym53c8xx_2/sym_glue.c	Sun Mar 21 09:47:50 2004
@@ -924,7 +924,6 @@
 	switch(to_do) {
 	default:
 	case SYM_EH_DO_IGNORE:
-		goto finish;
 		break;
 	case SYM_EH_DO_WAIT:
 		init_MUTEX_LOCKED(&ep->sem);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-03-21 15:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-21 15:53 [PATCH] correct sym2 error handling functions James Bottomley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox