Skip to contentSkip to conversation

lk2.5.53 ide-scsi

PATCH New Douglas Gilbert 1 participant 1 message Dec 24, 2002 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 lk2.5.53 ide-scsi

Willem's main ide-scsi patch got into lk 2.5.53 but not
his rev1.patch (oops on reset). It is re-packaged as the ide-scsi_2553wr2.diff attachment. His patch to cleanly unregister sysfs entries didn't make it into
drivers/ide/ide.c so it is attached as well.

Doug Gilbert

drivers/scsi/ide-scsi.c2553wr2 renamed from drivers/scsi/ide-scsi.c +3 -1
@@ -289,6 +289,7 @@
 	pc->timeout = jiffies + WAIT_READY;
 	/* NOTE! Save the failed packet command in "rq->buffer" */
 	rq->buffer = (void *) failed_command->special;
+	pc->scsi_cmd = ((idescsi_pc_t *) failed_command->special)->scsi_cmd;
 	if (test_bit(IDESCSI_LOG_CMD, &scsi->log)) {
 		printk ("ide-scsi: %s: queue cmd = ", drive->name);
 		hexdump(pc->c, 6);
@@ -876,7 +877,8 @@
 			/* is cmd active?
 			 *  need to lock so this stuff doesn't change under us */
 			spin_lock_irqsave(&ide_lock, flags);
-			if (scsi->pc && scsi->pc->scsi_cmd->serial_number == cmd->serial_number) {
+			if (scsi->pc && scsi->pc->scsi_cmd && 
+					scsi->pc->scsi_cmd->serial_number == cmd->serial_number) {
 				/* yep - let's give it some more time - 
 				 * we can do that, we're in _our_ error kernel thread */
 				spin_unlock_irqrestore(&ide_lock, flags);
drivers/ide/ide.c2552willem renamed from drivers/ide/ide.c +2 -0
@@ -2314,6 +2314,8 @@
 {
 	ide_drive_t *drive;
 
+	driver_unregister(&driver->gen_driver);
+
 	spin_lock(&drivers_lock);
 	list_del(&driver->drivers);
 	spin_unlock(&drivers_lock);