From: Manish Rangankar Date: Wed, 8 Apr 2020 06:43:28 +0000 (-0700) Subject: scsi: qedi: Avoid unnecessary endpoint allocation on link down X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2e612fab05112d9e40add3c3cb75a0e86967d53c;p=linux.git scsi: qedi: Avoid unnecessary endpoint allocation on link down No need to allocate and deallocate endpoint memory if the physical link is down. Link: https://lore.kernel.org/r/20200408064332.19377-3-mrangankar@marvell.com Reviewed-by: Lee Duncan Signed-off-by: Manish Rangankar Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/qedi/qedi_iscsi.c b/drivers/scsi/qedi/qedi_iscsi.c index 1f4a5fb00a057..26b11515f43e6 100644 --- a/drivers/scsi/qedi/qedi_iscsi.c +++ b/drivers/scsi/qedi/qedi_iscsi.c @@ -836,6 +836,11 @@ qedi_ep_connect(struct Scsi_Host *shost, struct sockaddr *dst_addr, return ERR_PTR(ret); } + if (atomic_read(&qedi->link_state) != QEDI_LINK_UP) { + QEDI_WARN(&qedi->dbg_ctx, "qedi link down\n"); + return ERR_PTR(-ENXIO); + } + ep = iscsi_create_endpoint(sizeof(struct qedi_endpoint)); if (!ep) { QEDI_ERR(&qedi->dbg_ctx, "endpoint create fail\n"); @@ -870,12 +875,6 @@ qedi_ep_connect(struct Scsi_Host *shost, struct sockaddr *dst_addr, QEDI_ERR(&qedi->dbg_ctx, "Invalid endpoint\n"); } - if (atomic_read(&qedi->link_state) != QEDI_LINK_UP) { - QEDI_WARN(&qedi->dbg_ctx, "qedi link down\n"); - ret = -ENXIO; - goto ep_conn_exit; - } - ret = qedi_alloc_sq(qedi, qedi_ep); if (ret) goto ep_conn_exit;