Skip to contentSkip to conversation

scsi_lib.c error handler patch

PATCH New Peter Yao 1 participant 1 message Jun 20, 2003 SCSI

lore
Share & tools
lore

Peter Yao

author
#0 lore raw

PATCH 1/1 scsi_lib.c error handler patch

i found a bug in redhat 7.3's kernel source, which cause some failed commands cannot be passed to the scsi error handler thread. I searched this list hastily and did not find a fix. i don't know whether it is in the latest kernel source, just a remind. :-)

Peter Yao

tmp/scsi_lib.c renamed from scsi/scsi_lib.c +5 -0
@@ -423,6 +423,11 @@
 		 * the front of the queue, and goose the queue again.
 		 */
 		scsi_queue_next_request(q, SCpnt);
+		/* Don't forget to wake up error handler */
+                if (SCpnt->host->in_recovery && !SCpnt->host->eh_active &&
+                        atomic_read(&SCpnt->host->host_busy) == SCpnt->host->host_failed) {
+                        up(SCpnt->host->eh_wait);
+                }
 		return SCpnt;
 	}
 	/*