mirror of
https://github.com/torvalds/linux.git
synced 2024-12-01 00:21:32 +00:00
scsi: iscsi: Drop suspend calls from ep_disconnect
libiscsi will now suspend the send/tx queue for the drivers so we can drop it from the drivers ep_disconnect. Link: https://lore.kernel.org/r/20210525181821.7617-4-michael.christie@oracle.com Reviewed-by: Lee Duncan <lduncan@suse.com> Signed-off-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
891e2639de
commit
27e986289e
@ -1293,7 +1293,6 @@ static int beiscsi_conn_close(struct beiscsi_endpoint *beiscsi_ep)
|
||||
void beiscsi_ep_disconnect(struct iscsi_endpoint *ep)
|
||||
{
|
||||
struct beiscsi_endpoint *beiscsi_ep;
|
||||
struct beiscsi_conn *beiscsi_conn;
|
||||
struct beiscsi_hba *phba;
|
||||
uint16_t cri_index;
|
||||
|
||||
@ -1312,11 +1311,6 @@ void beiscsi_ep_disconnect(struct iscsi_endpoint *ep)
|
||||
return;
|
||||
}
|
||||
|
||||
if (beiscsi_ep->conn) {
|
||||
beiscsi_conn = beiscsi_ep->conn;
|
||||
iscsi_suspend_queue(beiscsi_conn->conn);
|
||||
}
|
||||
|
||||
if (!beiscsi_hba_is_online(phba)) {
|
||||
beiscsi_log(phba, KERN_INFO, BEISCSI_LOG_CONFIG,
|
||||
"BS_%d : HBA in error 0x%lx\n", phba->state);
|
||||
|
@ -2113,7 +2113,6 @@ static void bnx2i_ep_disconnect(struct iscsi_endpoint *ep)
|
||||
{
|
||||
struct bnx2i_endpoint *bnx2i_ep;
|
||||
struct bnx2i_conn *bnx2i_conn = NULL;
|
||||
struct iscsi_conn *conn = NULL;
|
||||
struct bnx2i_hba *hba;
|
||||
|
||||
bnx2i_ep = ep->dd_data;
|
||||
@ -2126,11 +2125,8 @@ static void bnx2i_ep_disconnect(struct iscsi_endpoint *ep)
|
||||
!time_after(jiffies, bnx2i_ep->timestamp + (12 * HZ)))
|
||||
msleep(250);
|
||||
|
||||
if (bnx2i_ep->conn) {
|
||||
if (bnx2i_ep->conn)
|
||||
bnx2i_conn = bnx2i_ep->conn;
|
||||
conn = bnx2i_conn->cls_conn->dd_data;
|
||||
iscsi_suspend_queue(conn);
|
||||
}
|
||||
hba = bnx2i_ep->hba;
|
||||
|
||||
mutex_lock(&hba->net_dev_lock);
|
||||
|
@ -2968,7 +2968,6 @@ void cxgbi_ep_disconnect(struct iscsi_endpoint *ep)
|
||||
ep, cep, cconn, csk, csk->state, csk->flags);
|
||||
|
||||
if (cconn && cconn->iconn) {
|
||||
iscsi_suspend_tx(cconn->iconn);
|
||||
write_lock_bh(&csk->callback_lock);
|
||||
cep->csk->user_data = NULL;
|
||||
cconn->cep = NULL;
|
||||
|
@ -988,7 +988,6 @@ static void qedi_ep_disconnect(struct iscsi_endpoint *ep)
|
||||
{
|
||||
struct qedi_endpoint *qedi_ep;
|
||||
struct qedi_conn *qedi_conn = NULL;
|
||||
struct iscsi_conn *conn = NULL;
|
||||
struct qedi_ctx *qedi;
|
||||
int ret = 0;
|
||||
int wait_delay;
|
||||
@ -1007,8 +1006,6 @@ static void qedi_ep_disconnect(struct iscsi_endpoint *ep)
|
||||
|
||||
if (qedi_ep->conn) {
|
||||
qedi_conn = qedi_ep->conn;
|
||||
conn = qedi_conn->cls_conn->dd_data;
|
||||
iscsi_suspend_queue(conn);
|
||||
abrt_conn = qedi_conn->abrt_conn;
|
||||
|
||||
while (count--) {
|
||||
@ -1621,8 +1618,11 @@ void qedi_clear_session_ctx(struct iscsi_cls_session *cls_sess)
|
||||
struct iscsi_conn *conn = session->leadconn;
|
||||
struct qedi_conn *qedi_conn = conn->dd_data;
|
||||
|
||||
if (iscsi_is_session_online(cls_sess))
|
||||
if (iscsi_is_session_online(cls_sess)) {
|
||||
if (conn)
|
||||
iscsi_suspend_queue(conn);
|
||||
qedi_ep_disconnect(qedi_conn->iscsi_ep);
|
||||
}
|
||||
|
||||
qedi_conn_destroy(qedi_conn->cls_conn);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user