+6
-7
drivers/scsi/fnic/fnic_scsi.c
+6
-7
drivers/scsi/fnic/fnic_scsi.c
···
986
986
CMD_SP(sc) = NULL;
987
987
CMD_FLAGS(sc) |= FNIC_IO_DONE;
988
988
989
-
spin_unlock_irqrestore(io_lock, flags);
990
-
991
989
if (hdr_status != FCPIO_SUCCESS) {
992
990
atomic64_inc(&fnic_stats->io_stats.io_failures);
993
991
shost_printk(KERN_ERR, fnic->lport->host, "hdr status = %s\n",
···
993
995
}
994
996
995
997
fnic_release_ioreq_buf(fnic, io_req, sc);
996
-
997
-
mempool_free(io_req, fnic->io_req_pool);
998
998
999
999
cmd_trace = ((u64)hdr_status << 56) |
1000
1000
(u64)icmnd_cmpl->scsi_status << 48 |
···
1016
1020
fnic->fcp_output_bytes += xfer_len;
1017
1021
} else
1018
1022
fnic->lport->host_stats.fcp_control_requests++;
1023
+
1024
+
/* Call SCSI completion function to complete the IO */
1025
+
scsi_done(sc);
1026
+
spin_unlock_irqrestore(io_lock, flags);
1027
+
1028
+
mempool_free(io_req, fnic->io_req_pool);
1019
1029
1020
1030
atomic64_dec(&fnic_stats->io_stats.active_ios);
1021
1031
if (atomic64_read(&fnic->io_cmpl_skip))
···
1051
1049
if(io_duration_time > atomic64_read(&fnic_stats->io_stats.current_max_io_time))
1052
1050
atomic64_set(&fnic_stats->io_stats.current_max_io_time, io_duration_time);
1053
1051
}
1054
-
1055
-
/* Call SCSI completion function to complete the IO */
1056
-
scsi_done(sc);
1057
1052
}
1058
1053
1059
1054
/* fnic_fcpio_itmf_cmpl_handler