public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fix for Domain Validation hang on some devices with sym_2 driver
@ 2004-08-20  2:55 James Bottomley
  2004-08-20 14:55 ` [PATCH] fix for Domain Validation hang on some devices with sym_2driver Kai OM
  0 siblings, 1 reply; 3+ messages in thread
From: James Bottomley @ 2004-08-20  2:55 UTC (permalink / raw)
  To: willy; +Cc: SCSI Mailing List

There's a bad hang where the driver locks the system solid trying to do
domain validation with certain devices.  The one I've managed to
reproduce it with is a Quantum Atlas.

What happens is that setting the offset to zero is an async negotiation
message.  However, the driver still seems to have DT set (which is
illegal).  Most devices just reject this as stupid, but the Quantum
seems to try to obey it and hangs the bus.

The simple fix is to reset all PPR options when the offset is set to
zero.

James

===== drivers/scsi/sym53c8xx_2/sym_glue.c 1.44 vs edited =====
--- 1.44/drivers/scsi/sym53c8xx_2/sym_glue.c	2004-07-26 17:24:36 -04:00
+++ edited/drivers/scsi/sym53c8xx_2/sym_glue.c	2004-08-19 22:30:35 -04:00
@@ -2383,6 +2383,9 @@
 	struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb;
 	struct sym_tcb *tp = &np->target[sdev->id];
 
+	if (offset == 0)
+		tp->tinfo.goal.options = 0;
+
 	if (tp->tinfo.curr.options & PPR_OPT_DT) {
 		if (offset > np->maxoffs_dt)
 			offset = np->maxoffs_dt;


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-08-20 16:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-20  2:55 [PATCH] fix for Domain Validation hang on some devices with sym_2 driver James Bottomley
2004-08-20 14:55 ` [PATCH] fix for Domain Validation hang on some devices with sym_2driver Kai OM
2004-08-20 16:34   ` Matthew Wilcox

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