[PATCH 2.6.18-rc4-mm1 3/8] ieee1394: sbp2: safer agent reset in errorhandlers

From: Stefan Richter
Date: Mon Aug 14 2006 - 13:46:08 EST


The scsi_host_template's eh_abort_handler and eh_device_reset_handler
are allowed to sleep. Use this to run sbp2_agent_reset in the more
reliable mode which returns _after_ its write transaction was finished.

Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>
---
Index: linux/drivers/ieee1394/sbp2.c
===================================================================
--- linux.orig/drivers/ieee1394/sbp2.c 2006-08-14 00:21:55.000000000 +0200
+++ linux/drivers/ieee1394/sbp2.c 2006-08-14 00:22:32.000000000 +0200
@@ -2588,7 +2588,7 @@ static int sbp2scsi_abort(struct scsi_cm
/*
* Initiate a fetch agent reset.
*/
- sbp2_agent_reset(scsi_id, 0);
+ sbp2_agent_reset(scsi_id, 1);
sbp2scsi_complete_all_commands(scsi_id, DID_BUS_BUSY);
}

@@ -2607,7 +2607,7 @@ static int sbp2scsi_reset(struct scsi_cm

if (sbp2util_node_is_available(scsi_id)) {
SBP2_ERR("Generating sbp2 fetch agent reset");
- sbp2_agent_reset(scsi_id, 0);
+ sbp2_agent_reset(scsi_id, 1);
}

return SUCCESS;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/