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>
This commit is contained in:
Родитель
09ee67abe9
Коммит
1f427e8055
|
@ -2578,7 +2578,7 @@ static int sbp2scsi_abort(struct scsi_cmnd *SCpnt)
|
||||||
/*
|
/*
|
||||||
* Initiate a fetch agent reset.
|
* 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);
|
sbp2scsi_complete_all_commands(scsi_id, DID_BUS_BUSY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2597,7 +2597,7 @@ static int sbp2scsi_reset(struct scsi_cmnd *SCpnt)
|
||||||
|
|
||||||
if (sbp2util_node_is_available(scsi_id)) {
|
if (sbp2util_node_is_available(scsi_id)) {
|
||||||
SBP2_ERR("Generating sbp2 fetch agent reset");
|
SBP2_ERR("Generating sbp2 fetch agent reset");
|
||||||
sbp2_agent_reset(scsi_id, 0);
|
sbp2_agent_reset(scsi_id, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче