public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* Fix for aic7xxx problems in BK latest
@ 2003-11-24  5:53 James Bottomley
  2003-11-24  7:18 ` Christoph Hellwig
  0 siblings, 1 reply; 2+ messages in thread
From: James Bottomley @ 2003-11-24  5:53 UTC (permalink / raw)
  To: SCSI Mailing List, Pete Clements, Fabio Coatti, Zwane Mwaikambo
  Cc: Christoph Hellwig

It turns out the scsi_device refcounting and list lockdown altered the
conditions under which scsi_report_bus_reset() works, since it calls
shost_for_each_device, which now takes the host lock, that lock cannot
be held while calling the report functions.  However, the assumption by
aic is that it can.

I fixed the problem by using the no lock version of the iterator.

James

===== drivers/scsi/scsi_error.c 1.65 vs edited =====
--- 1.65/drivers/scsi/scsi_error.c	Sun Sep 21 12:49:36 2003
+++ edited/drivers/scsi/scsi_error.c	Sun Nov 23 23:39:09 2003
@@ -1622,7 +1622,7 @@
 {
 	struct scsi_device *sdev;
 
-	shost_for_each_device(sdev, shost) {
+	__shost_for_each_device(sdev, shost) {
 		if (channel == sdev->channel) {
 			sdev->was_reset = 1;
 			sdev->expecting_cc_ua = 1;
@@ -1656,7 +1656,7 @@
 {
 	struct scsi_device *sdev;
 
-	shost_for_each_device(sdev, shost) {
+	__shost_for_each_device(sdev, shost) {
 		if (channel == sdev->channel &&
 		    target == sdev->id) {
 			sdev->was_reset = 1;


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

end of thread, other threads:[~2003-11-24  7:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-24  5:53 Fix for aic7xxx problems in BK latest James Bottomley
2003-11-24  7:18 ` Christoph Hellwig

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