diff options
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/libiscsi.c | 1 | ||||
-rw-r--r-- | drivers/scsi/libiscsi_tcp.c | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index a6e6eef04fed..047543cd3fc1 100644 --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c | |||
@@ -729,6 +729,7 @@ iscsi_data_in_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr, | |||
729 | if (!(rhdr->flags & ISCSI_FLAG_DATA_STATUS)) | 729 | if (!(rhdr->flags & ISCSI_FLAG_DATA_STATUS)) |
730 | return; | 730 | return; |
731 | 731 | ||
732 | iscsi_update_cmdsn(conn->session, (struct iscsi_nopin *)hdr); | ||
732 | sc->result = (DID_OK << 16) | rhdr->cmd_status; | 733 | sc->result = (DID_OK << 16) | rhdr->cmd_status; |
733 | conn->exp_statsn = be32_to_cpu(rhdr->statsn) + 1; | 734 | conn->exp_statsn = be32_to_cpu(rhdr->statsn) + 1; |
734 | if (rhdr->flags & (ISCSI_FLAG_DATA_UNDERFLOW | | 735 | if (rhdr->flags & (ISCSI_FLAG_DATA_UNDERFLOW | |
diff --git a/drivers/scsi/libiscsi_tcp.c b/drivers/scsi/libiscsi_tcp.c index b579ca9f4836..db93cd0dfdb6 100644 --- a/drivers/scsi/libiscsi_tcp.c +++ b/drivers/scsi/libiscsi_tcp.c | |||
@@ -473,7 +473,13 @@ static int iscsi_tcp_data_in(struct iscsi_conn *conn, struct iscsi_task *task) | |||
473 | int datasn = be32_to_cpu(rhdr->datasn); | 473 | int datasn = be32_to_cpu(rhdr->datasn); |
474 | unsigned total_in_length = scsi_in(task->sc)->length; | 474 | unsigned total_in_length = scsi_in(task->sc)->length; |
475 | 475 | ||
476 | iscsi_update_cmdsn(conn->session, (struct iscsi_nopin*)rhdr); | 476 | /* |
477 | * lib iscsi will update this in the completion handling if there | ||
478 | * is status. | ||
479 | */ | ||
480 | if (!(rhdr->flags & ISCSI_FLAG_DATA_STATUS)) | ||
481 | iscsi_update_cmdsn(conn->session, (struct iscsi_nopin*)rhdr); | ||
482 | |||
477 | if (tcp_conn->in.datalen == 0) | 483 | if (tcp_conn->in.datalen == 0) |
478 | return 0; | 484 | return 0; |
479 | 485 | ||