aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394/sbp2.c
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2006-08-14 12:44:00 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2006-09-17 13:34:30 -0400
commit1f427e8055b1ab408395d6da421d93783120484c (patch)
tree5d9ed71fc260589a6186ab5f04a91cac5b49afd1 /drivers/ieee1394/sbp2.c
parent09ee67abe997ee95cd3f6cc552fa9532bc722d83 (diff)
ieee1394: sbp2: safer agent reset in error handlers
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@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/ieee1394/sbp2.c')
-rw-r--r--drivers/ieee1394/sbp2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c
index c4d30a7b8b1e..b5bcca36d43c 100644
--- a/drivers/ieee1394/sbp2.c
+++ b/drivers/ieee1394/sbp2.c
@@ -2578,7 +2578,7 @@ static int sbp2scsi_abort(struct scsi_cmnd *SCpnt)
2578 /* 2578 /*
2579 * Initiate a fetch agent reset. 2579 * Initiate a fetch agent reset.
2580 */ 2580 */
2581 sbp2_agent_reset(scsi_id, 0); 2581 sbp2_agent_reset(scsi_id, 1);
2582 sbp2scsi_complete_all_commands(scsi_id, DID_BUS_BUSY); 2582 sbp2scsi_complete_all_commands(scsi_id, DID_BUS_BUSY);
2583 } 2583 }
2584 2584
@@ -2597,7 +2597,7 @@ static int sbp2scsi_reset(struct scsi_cmnd *SCpnt)
2597 2597
2598 if (sbp2util_node_is_available(scsi_id)) { 2598 if (sbp2util_node_is_available(scsi_id)) {
2599 SBP2_ERR("Generating sbp2 fetch agent reset"); 2599 SBP2_ERR("Generating sbp2 fetch agent reset");
2600 sbp2_agent_reset(scsi_id, 0); 2600 sbp2_agent_reset(scsi_id, 1);
2601 } 2601 }
2602 2602
2603 return SUCCESS; 2603 return SUCCESS;