From patchwork Thu May 4 16:51:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 98546 Delivered-To: patch@linaro.org Received: by 10.140.89.200 with SMTP id v66csp698203qgd; Thu, 4 May 2017 09:52:26 -0700 (PDT) X-Received: by 10.99.114.6 with SMTP id n6mr46972149pgc.175.1493916746426; Thu, 04 May 2017 09:52:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1493916746; cv=none; d=google.com; s=arc-20160816; b=n52flv+v+Wql0KCI4Cu7UfFLmGPXxVthHO9evg9kH7wV/UcsiGuT62xZtFmUe+TYnh mqx+a2Z0LmdnRw8MrbC3HdJGnEeaM9xd7Xr7BZXgHEssCRw3L6lWmy3l7F4SBNho2C8Q BfarR53QWMYSTobofE+Y5d69IU3EYb8j7v6Mll8HNQBJp6ZPXoGzoDWNu3zJdmARarI9 qkOKB6VEH2HfNG3wIjrALQP96F5WPXotJCZKdV5pQi3JaWKychdUpVr3tYnYodH2LugJ uMx/SDs50iSsHYNH7tZKq86XpTUbUvbjyX7hEGxbgR8b8MR/Gb4hHo3PCcIcSSqDZ3pM k7ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=KbsqZLvC88g0S0VUOEAs67FzhissASqsuIj1qjkRWQw=; b=ELGEemUuFhcUrmkzQyCy4YQj7C827xmmKwIu32mgsEIMpc1KwZPU3ZjuKoWV1ZdtIk Jnn1pAx+9SZ/z2bRGj/77tvURq4DSXqS2BqBafmkBISvKrdBDCvvpEwleLbs03TeBQsE 4AhtkGxHJamgIFm4ES7wbjKVM7MyXve6yZufBV4C1nFTp1Xxi5TmZUAW/iy+ZRSwnIAp Gp00dG/9XLJjns3PHIj1BRFoh5mgRmlyp3mo2e6CQ3Jkm9ug/1GJtdiUqN2Eek/8g0X4 34qVQs6/PIPpNu8iSAF/Ym4o7DcWyEqUpXmkJgVPcIKRWFX8EFLob1eeHkzYaT/kEVdo /cbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n5si2533622pgk.367.2017.05.04.09.52.26; Thu, 04 May 2017 09:52:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755450AbdEDQwZ (ORCPT + 6 others); Thu, 4 May 2017 12:52:25 -0400 Received: from mail-pg0-f43.google.com ([74.125.83.43]:34790 "EHLO mail-pg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755232AbdEDQwZ (ORCPT ); Thu, 4 May 2017 12:52:25 -0400 Received: by mail-pg0-f43.google.com with SMTP id v1so11484123pgv.1 for ; Thu, 04 May 2017 09:52:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=KbsqZLvC88g0S0VUOEAs67FzhissASqsuIj1qjkRWQw=; b=MXmhfTZzOhQCjozjSLKRozDx1YurHy0PPWaH17Xws3+FywjW07snuAUIS+7ueJTCqh 66IlAY5MBE55uRw7xsi2KTUHPi8YUoKZFOepageVrOt5DZhouVKcMmrKFGxcXY0VHKn4 vYoAXLbjTxBrTcY70qJL4v2wwr6zfIZfb7FKU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=KbsqZLvC88g0S0VUOEAs67FzhissASqsuIj1qjkRWQw=; b=pMipfIyfhgoEBS1W6c1WPGdvXLaaTCeuPAjAsloDjYFNBy+ADNPgozt2CLx1mdgTck rGI66WeW5d7OE4F+MdeUY4Aq5XBEh6W88CV5N5JwP8u4daDCCeCWm0t13/DEnFH4NaNO IBhbdY9AreuebMRpa9xOjW55rSQZpqVKx9+1jfN8beJJBIytO/hbqB4lyfEB4Ydb4hj/ IAW9p9FQhF+WRmOJGW4Y+H1uIV+yZ+BKYFOgZc2D/Ix5+yS8mNJXbFjTQ1ttAd6BOunX 3uazj+GLRTDcMmkvieAYEXjEg5QhTH2f6vcOExTZQYQSXSFhOHIExVgleSastTXUnkqP Co1A== X-Gm-Message-State: AN3rC/5/Ee009i2CT3nM2wJwKDB3F74BX1fgLaopmoYYhXSuqtzIDq/5 OE+lbJhkeWElJ9Cr X-Received: by 10.98.151.17 with SMTP id n17mr12063812pfe.138.1493916744333; Thu, 04 May 2017 09:52:24 -0700 (PDT) Received: from phantom.lan ([106.51.225.38]) by smtp.gmail.com with ESMTPSA id w85sm4946121pfk.62.2017.05.04.09.52.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 04 May 2017 09:52:23 -0700 (PDT) From: Sumit Semwal To: stable@vger.kernel.org Cc: Uma Krishnan , "Martin K . Petersen" , Sumit Semwal Subject: [PATCH for-4.4 1/4] scsi: cxlflash: Scan host only after the port is ready for I/O Date: Thu, 4 May 2017 22:21:57 +0530 Message-Id: <1493916720-8819-2-git-send-email-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1493916720-8819-1-git-send-email-sumit.semwal@linaro.org> References: <1493916720-8819-1-git-send-email-sumit.semwal@linaro.org> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Uma Krishnan [ Upstream commit bbbfae962b7c221237c0f92547ee0c83f7204747 ] When a port link is established, the AFU sends a 'link up' interrupt. After the link is up, corresponding initialization steps are performed on the card. Following that, when the card is ready for I/O, the AFU sends 'login succeeded' interrupt. Today, cxlflash invokes scsi_scan_host() upon receipt of both interrupts. SCSI commands sent to the port prior to the 'login succeeded' interrupt will fail with 'port not available' error. This is not desirable. Moreover, when async_scan is active for the host, subsequent scan calls are terminated with error. Due to this, the scsi_scan_host() call performed after 'login succeeded' interrupt could portentially return error and the devices may not be scanned properly. To avoid this problem, scsi_scan_host() should be called only after the 'login succeeded' interrupt. Signed-off-by: Uma Krishnan Acked-by: Matthew R. Ochs Signed-off-by: Martin K. Petersen Signed-off-by: Sumit Semwal --- drivers/scsi/cxlflash/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.7.4 diff --git a/drivers/scsi/cxlflash/main.c b/drivers/scsi/cxlflash/main.c index 2882bca..6150d29 100644 --- a/drivers/scsi/cxlflash/main.c +++ b/drivers/scsi/cxlflash/main.c @@ -1137,7 +1137,7 @@ static const struct asyc_intr_info ainfo[] = { {SISL_ASTATUS_FC0_LOGI_F, "login failed", 0, CLR_FC_ERROR}, {SISL_ASTATUS_FC0_LOGI_S, "login succeeded", 0, SCAN_HOST}, {SISL_ASTATUS_FC0_LINK_DN, "link down", 0, 0}, - {SISL_ASTATUS_FC0_LINK_UP, "link up", 0, SCAN_HOST}, + {SISL_ASTATUS_FC0_LINK_UP, "link up", 0, 0}, {SISL_ASTATUS_FC1_OTHER, "other error", 1, CLR_FC_ERROR | LINK_RESET}, {SISL_ASTATUS_FC1_LOGO, "target initiated LOGO", 1, 0}, {SISL_ASTATUS_FC1_CRC_T, "CRC threshold exceeded", 1, LINK_RESET}, @@ -1145,7 +1145,7 @@ static const struct asyc_intr_info ainfo[] = { {SISL_ASTATUS_FC1_LOGI_F, "login failed", 1, CLR_FC_ERROR}, {SISL_ASTATUS_FC1_LOGI_S, "login succeeded", 1, SCAN_HOST}, {SISL_ASTATUS_FC1_LINK_DN, "link down", 1, 0}, - {SISL_ASTATUS_FC1_LINK_UP, "link up", 1, SCAN_HOST}, + {SISL_ASTATUS_FC1_LINK_UP, "link up", 1, 0}, {0x0, "", 0, 0} /* terminator */ };