summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2016-10-18 10:01:49 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2016-11-08 17:29:56 -0500
commit0ebaed17febadeda0f4da21da2c0f295f46348a4 (patch)
tree2d68fa94b110f23a6d040e10b5d87bda6e857d3c /drivers/scsi
parent0cac937da525ae3aa9f4b82c6ca129d16bb321fe (diff)
downloadblackbird-op-linux-0ebaed17febadeda0f4da21da2c0f295f46348a4.tar.gz
blackbird-op-linux-0ebaed17febadeda0f4da21da2c0f295f46348a4.zip
scsi: libfc: Replace ->seq_exch_abort callback with function call
The ->seq_exch_abort callback only ever had one implementation, so we can as well call it directly and drop the callback. Signed-off-by: Hannes Reinecke <hare@suse.com> Acked-by: Johannes Thumshirn <jth@kernel.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/libfc/fc_exch.c13
-rw-r--r--drivers/scsi/libfc/fc_fcp.c4
2 files changed, 10 insertions, 7 deletions
diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
index ee34cc6aded7..fffb9a3162e2 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -629,6 +629,13 @@ static void fc_seq_set_resp(struct fc_seq *sp,
* @ep: The exchange to be aborted
* @timer_msec: The period of time to wait before aborting
*
+ * Abort an exchange and sequence. Generally called because of a
+ * exchange timeout or an abort from the upper layer.
+ *
+ * A timer_msec can be specified for abort timeout, if non-zero
+ * timer_msec value is specified then exchange resp handler
+ * will be called with timeout error if no response to abort.
+ *
* Locking notes: Called with exch lock held
*
* Return value: 0 on success else error code
@@ -692,8 +699,7 @@ static int fc_exch_abort_locked(struct fc_exch *ep,
*
* Return value: 0 on success else error code
*/
-static int fc_seq_exch_abort(const struct fc_seq *req_sp,
- unsigned int timer_msec)
+int fc_seq_exch_abort(const struct fc_seq *req_sp, unsigned int timer_msec)
{
struct fc_exch *ep;
int error;
@@ -2654,9 +2660,6 @@ int fc_exch_init(struct fc_lport *lport)
if (!lport->tt.exch_mgr_reset)
lport->tt.exch_mgr_reset = fc_exch_mgr_reset;
- if (!lport->tt.seq_exch_abort)
- lport->tt.seq_exch_abort = fc_seq_exch_abort;
-
if (!lport->tt.seq_assign)
lport->tt.seq_assign = fc_seq_assign;
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c
index daad70ff8c8f..2bb3f9f74ad2 100644
--- a/drivers/scsi/libfc/fc_fcp.c
+++ b/drivers/scsi/libfc/fc_fcp.c
@@ -287,9 +287,9 @@ static int fc_fcp_send_abort(struct fc_fcp_pkt *fsp)
put_cpu();
fsp->state |= FC_SRB_ABORT_PENDING;
- rc = fsp->lp->tt.seq_exch_abort(fsp->seq_ptr, 0);
+ rc = fc_seq_exch_abort(fsp->seq_ptr, 0);
/*
- * ->seq_exch_abort() might return -ENXIO if
+ * fc_seq_exch_abort() might return -ENXIO if
* the sequence is already completed
*/
if (rc == -ENXIO) {
OpenPOWER on IntegriCloud