|
@@ -489,7 +489,7 @@ static void qedf_srr_compl(struct qedf_els_cb_arg *cb_arg)
|
|
|
|
|
|
/* If a SRR times out, simply free resources */
|
|
/* If a SRR times out, simply free resources */
|
|
if (srr_req->event == QEDF_IOREQ_EV_ELS_TMO)
|
|
if (srr_req->event == QEDF_IOREQ_EV_ELS_TMO)
|
|
- goto out_free;
|
|
|
|
|
|
+ goto out_put;
|
|
|
|
|
|
/* Normalize response data into struct fc_frame */
|
|
/* Normalize response data into struct fc_frame */
|
|
mp_req = &(srr_req->mp_req);
|
|
mp_req = &(srr_req->mp_req);
|
|
@@ -501,7 +501,7 @@ static void qedf_srr_compl(struct qedf_els_cb_arg *cb_arg)
|
|
if (!fp) {
|
|
if (!fp) {
|
|
QEDF_ERR(&(qedf->dbg_ctx),
|
|
QEDF_ERR(&(qedf->dbg_ctx),
|
|
"fc_frame_alloc failure.\n");
|
|
"fc_frame_alloc failure.\n");
|
|
- goto out_free;
|
|
|
|
|
|
+ goto out_put;
|
|
}
|
|
}
|
|
|
|
|
|
/* Copy frame header from firmware into fp */
|
|
/* Copy frame header from firmware into fp */
|
|
@@ -526,9 +526,10 @@ static void qedf_srr_compl(struct qedf_els_cb_arg *cb_arg)
|
|
}
|
|
}
|
|
|
|
|
|
fc_frame_free(fp);
|
|
fc_frame_free(fp);
|
|
-out_free:
|
|
|
|
|
|
+out_put:
|
|
/* Put reference for original command since SRR completed */
|
|
/* Put reference for original command since SRR completed */
|
|
kref_put(&orig_io_req->refcount, qedf_release_cmd);
|
|
kref_put(&orig_io_req->refcount, qedf_release_cmd);
|
|
|
|
+out_free:
|
|
kfree(cb_arg);
|
|
kfree(cb_arg);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -780,7 +781,7 @@ static void qedf_rec_compl(struct qedf_els_cb_arg *cb_arg)
|
|
|
|
|
|
/* If a REC times out, free resources */
|
|
/* If a REC times out, free resources */
|
|
if (rec_req->event == QEDF_IOREQ_EV_ELS_TMO)
|
|
if (rec_req->event == QEDF_IOREQ_EV_ELS_TMO)
|
|
- goto out_free;
|
|
|
|
|
|
+ goto out_put;
|
|
|
|
|
|
/* Normalize response data into struct fc_frame */
|
|
/* Normalize response data into struct fc_frame */
|
|
mp_req = &(rec_req->mp_req);
|
|
mp_req = &(rec_req->mp_req);
|
|
@@ -792,7 +793,7 @@ static void qedf_rec_compl(struct qedf_els_cb_arg *cb_arg)
|
|
if (!fp) {
|
|
if (!fp) {
|
|
QEDF_ERR(&(qedf->dbg_ctx),
|
|
QEDF_ERR(&(qedf->dbg_ctx),
|
|
"fc_frame_alloc failure.\n");
|
|
"fc_frame_alloc failure.\n");
|
|
- goto out_free;
|
|
|
|
|
|
+ goto out_put;
|
|
}
|
|
}
|
|
|
|
|
|
/* Copy frame header from firmware into fp */
|
|
/* Copy frame header from firmware into fp */
|
|
@@ -884,9 +885,10 @@ static void qedf_rec_compl(struct qedf_els_cb_arg *cb_arg)
|
|
|
|
|
|
out_free_frame:
|
|
out_free_frame:
|
|
fc_frame_free(fp);
|
|
fc_frame_free(fp);
|
|
-out_free:
|
|
|
|
|
|
+out_put:
|
|
/* Put reference for original command since REC completed */
|
|
/* Put reference for original command since REC completed */
|
|
kref_put(&orig_io_req->refcount, qedf_release_cmd);
|
|
kref_put(&orig_io_req->refcount, qedf_release_cmd);
|
|
|
|
+out_free:
|
|
kfree(cb_arg);
|
|
kfree(cb_arg);
|
|
}
|
|
}
|
|
|
|
|