Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp965501pxb; Wed, 6 Apr 2022 05:30:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzInUEGDCGeBSNC6mAdPvCjb1JJDXz8slSL7MG5f9KHchalazu8HV9Uk2A6hGRD9QbZyDI7 X-Received: by 2002:a17:902:ce8c:b0:156:c7f5:10f8 with SMTP id f12-20020a170902ce8c00b00156c7f510f8mr8562298plg.47.1649248253885; Wed, 06 Apr 2022 05:30:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649248253; cv=none; d=google.com; s=arc-20160816; b=PLunkpa/iUMVXbY8KKwwYIv/VQrLCn2Nz9u16ikTenqoRn3p6jSj/GA7cnCmFSr9BN /v3NTRYerNGxD2YtYT52afp3N8yHrP2MUBh8PdWzsseI32ABS4OHXwVVij19C93+ay+b y5CFbUAV5L3k8WUAKcOLUI3bLapByOHbtrEur4JlPpuwdb1Cm0nukA+62Evy7IVG/dT5 SNVGDdOWvEr0ieLzTEKTIMXKzdhOihd0fjx4LZ9fxegBmCjJ4uLp+zlnD0hvAcnbiUy8 pMWh87gIgeEvBbpdAG6OLwFtj5dc7ogwpgIj3lmP8xjMz/clQHX5UzMt1RwoIbG44kB2 4/aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=X0WQDrII+akksTNye4zwwoVkYstnzXZocqd/zQUkOZI=; b=YBi+2zxr01qTiZUQzFX/oEVUvOKaB54Um40g99Lo/7zvm1JpXj+xzuicjZQHlz31nB YAsUJMYlTbu8RWwnCbMWYktzRGtgta89UW5mSdgTEARwEtS8RDq2pBjPjnmB3ihx1hyw nHdMWUQW7jm9ylFJWM9QTnTHDZ2nk28nrN64Yd6bHQQQV4OxCfvXOTnFP8206tAjSRYR 38mtPUE75z96RtgYS0bpFEYyvklZ+ox7oEwd/uiNiX++Jtb8g7aXqpDBAVzlirtykAbC K+Ue+l01bjPWN5ew5O2G/CH07GdktR7OpGof1wW8kfNZ3BlN8w9Q0ULHPVDJXEvLPuEB 5G2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=AK0KQB1v; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id q9-20020a170902f34900b00156a80ba52esi7656856ple.274.2022.04.06.05.30.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 05:30:53 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=AK0KQB1v; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 03F28588C60; Wed, 6 Apr 2022 02:05:27 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1840652AbiDFBL1 (ORCPT + 99 others); Tue, 5 Apr 2022 21:11:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343795AbiDEKjl (ORCPT ); Tue, 5 Apr 2022 06:39:41 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1460EE9C; Tue, 5 Apr 2022 03:24:41 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id B1838B81C8A; Tue, 5 Apr 2022 10:24:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F8D8C385A0; Tue, 5 Apr 2022 10:24:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649154278; bh=k2K05ZusXB1yui8ELCVKPSk66ktYEN2DSCtlB+QuBFk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AK0KQB1vV+YkPtGrGQh1uafIZUaBpu+FRwhd7I99YWQOzbWp2A+xf4cWr3+aCjH/o QJrv63Sme/ah6JqP5l3wU2cWUCZ/stu9Ab1EgojdzpWWcUS8vY8oFLbTDxplvVlO5m hwOen8bFyNZth01tr36JCaKPVS1pElO5zKXnj2x8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Himanshu Madhani , Arun Easi , Nilesh Javali , "Martin K. Petersen" Subject: [PATCH 5.10 521/599] scsi: qla2xxx: Fix device reconnect in loop topology Date: Tue, 5 Apr 2022 09:33:35 +0200 Message-Id: <20220405070314.343853551@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070258.802373272@linuxfoundation.org> References: <20220405070258.802373272@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Arun Easi commit 8ad4be3d15cf144b5834bdb00d5bbe4050938dc7 upstream. A device logout in loop topology initiates a device connection teardown which loses the FW device handle. In loop topo, the device handle is not regrabbed leading to device login failures and eventually to loss of the device. Fix this by taking the main login path that does it. Link: https://lore.kernel.org/r/20220110050218.3958-11-njavali@marvell.com Cc: stable@vger.kernel.org Reviewed-by: Himanshu Madhani Signed-off-by: Arun Easi Signed-off-by: Nilesh Javali Signed-off-by: Martin K. Petersen Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/qla2xxx/qla_init.c | 15 +++++++++++++++ drivers/scsi/qla2xxx/qla_os.c | 5 +++++ 2 files changed, 20 insertions(+) --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -953,6 +953,9 @@ static void qla24xx_handle_gnl_done_even set_bit(RELOGIN_NEEDED, &vha->dpc_flags); } break; + case ISP_CFG_NL: + qla24xx_fcport_handle_login(vha, fcport); + break; default: break; } @@ -1480,6 +1483,11 @@ static void qla_chk_n2n_b4_login(struct u8 login = 0; int rc; + ql_dbg(ql_dbg_disc, vha, 0x307b, + "%s %8phC DS %d LS %d lid %d retries=%d\n", + __func__, fcport->port_name, fcport->disc_state, + fcport->fw_login_state, fcport->loop_id, fcport->login_retry); + if (qla_tgt_mode_enabled(vha)) return; @@ -5377,6 +5385,13 @@ qla2x00_configure_local_loop(scsi_qla_ho memcpy(fcport->node_name, new_fcport->node_name, WWN_SIZE); fcport->scan_state = QLA_FCPORT_FOUND; + if (fcport->login_retry == 0) { + fcport->login_retry = vha->hw->login_retry_count; + ql_dbg(ql_dbg_disc, vha, 0x2135, + "Port login retry %8phN, lid 0x%04x retry cnt=%d.\n", + fcport->port_name, fcport->loop_id, + fcport->login_retry); + } found++; break; } --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -5391,6 +5391,11 @@ void qla2x00_relogin(struct scsi_qla_hos ea.fcport = fcport; qla24xx_handle_relogin_event(vha, &ea); } else if (vha->hw->current_topology == + ISP_CFG_NL && + IS_QLA2XXX_MIDTYPE(vha->hw)) { + (void)qla24xx_fcport_handle_login(vha, + fcport); + } else if (vha->hw->current_topology == ISP_CFG_NL) { fcport->login_retry--; status =