pdu: timed out pdus might have no callback
Signed-off-by: Peter Lieven <pl@kamp.de>
This commit is contained in:
@@ -705,8 +705,10 @@ iscsi_timeout_scan(struct iscsi_context *iscsi)
|
|||||||
ISCSI_LIST_REMOVE(&iscsi->outqueue, pdu);
|
ISCSI_LIST_REMOVE(&iscsi->outqueue, pdu);
|
||||||
iscsi_set_error(iscsi, "command timed out");
|
iscsi_set_error(iscsi, "command timed out");
|
||||||
iscsi_dump_pdu_header(iscsi, pdu->outdata.data);
|
iscsi_dump_pdu_header(iscsi, pdu->outdata.data);
|
||||||
pdu->callback(iscsi, SCSI_STATUS_TIMEOUT,
|
if (pdu->callback) {
|
||||||
NULL, pdu->private_data);
|
pdu->callback(iscsi, SCSI_STATUS_TIMEOUT,
|
||||||
|
NULL, pdu->private_data);
|
||||||
|
}
|
||||||
iscsi_free_pdu(iscsi, pdu);
|
iscsi_free_pdu(iscsi, pdu);
|
||||||
}
|
}
|
||||||
for (pdu = iscsi->waitpdu; pdu; pdu = next_pdu) {
|
for (pdu = iscsi->waitpdu; pdu; pdu = next_pdu) {
|
||||||
@@ -723,8 +725,10 @@ iscsi_timeout_scan(struct iscsi_context *iscsi)
|
|||||||
ISCSI_LIST_REMOVE(&iscsi->waitpdu, pdu);
|
ISCSI_LIST_REMOVE(&iscsi->waitpdu, pdu);
|
||||||
iscsi_set_error(iscsi, "command timed out");
|
iscsi_set_error(iscsi, "command timed out");
|
||||||
iscsi_dump_pdu_header(iscsi, pdu->outdata.data);
|
iscsi_dump_pdu_header(iscsi, pdu->outdata.data);
|
||||||
pdu->callback(iscsi, SCSI_STATUS_TIMEOUT,
|
if (pdu->callback) {
|
||||||
NULL, pdu->private_data);
|
pdu->callback(iscsi, SCSI_STATUS_TIMEOUT,
|
||||||
|
NULL, pdu->private_data);
|
||||||
|
}
|
||||||
iscsi_free_pdu(iscsi, pdu);
|
iscsi_free_pdu(iscsi, pdu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user