From patchwork Wed Mar 15 16:48:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9626185 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 75AC760522 for ; Wed, 15 Mar 2017 16:50:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6831228669 for ; Wed, 15 Mar 2017 16:50:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5D0E32866C; Wed, 15 Mar 2017 16:50:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E75B72866B for ; Wed, 15 Mar 2017 16:50:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753274AbdCOQuv (ORCPT ); Wed, 15 Mar 2017 12:50:51 -0400 Received: from mail-by2nam01on0063.outbound.protection.outlook.com ([104.47.34.63]:35020 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753099AbdCOQtL (ORCPT ); Wed, 15 Mar 2017 12:49:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=9UlbxddUHMYEKp/pThlmnbkXAEZv5mYp6TE9W2KRvFQ=; b=OryK8k8JoCoMTVqWEch0pE51Jym2xZW1+Y3U2LpCJpEiWDv6Z5bSIA2UEBBAqouItB53w68VARHGpqxyIK2QnUGKhj9CpkZhF4d5ttM5zOXJdYRh4hWyPUq7kGtws06h23/q22YkPKHHEz4a6LmfUT7bqnVGE3RpMKgiOFtKGKc= Received: from CO2PR07CA0018.namprd07.prod.outlook.com (10.141.194.156) by DM2PR07MB480.namprd07.prod.outlook.com (10.141.159.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.11; Wed, 15 Mar 2017 16:49:09 +0000 Received: from BL2FFO11FD042.protection.gbl (2a01:111:f400:7c09::172) by CO2PR07CA0018.outlook.office365.com (2a01:111:e400:1414::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.11 via Frontend Transport; Wed, 15 Mar 2017 16:49:09 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; linux-iscsi.org; dkim=none (message not signed) header.d=none; linux-iscsi.org; dmarc=none action=none header.from=cavium.com; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BL2FFO11FD042.mail.protection.outlook.com (10.173.161.138) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.961.10 via Frontend Transport; Wed, 15 Mar 2017 16:49:08 +0000 Received: from dut1171.mv.qlogic.com (172.29.51.171) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.309.2; Wed, 15 Mar 2017 09:48:57 -0700 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id v2FGmvWE017302; Wed, 15 Mar 2017 09:48:57 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v2FGmvIt017301; Wed, 15 Mar 2017 09:48:57 -0700 From: Himanshu Madhani To: , , CC: , , Subject: [PATCH v4 03/14] qla2xxx: Fix request queue corruption. Date: Wed, 15 Mar 2017 09:48:45 -0700 Message-ID: <20170315164856.17255-4-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170315164856.17255-1-himanshu.madhani@cavium.com> References: <20170315164856.17255-1-himanshu.madhani@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39410400002)(39450400003)(2980300002)(428002)(199003)(189002)(9170700003)(107886003)(33646002)(38730400002)(8936002)(305945005)(81166006)(47776003)(4326008)(50226002)(50986999)(42186005)(356003)(36756003)(101416001)(76176999)(105586002)(2906002)(5003940100001)(2201001)(54906002)(8656002)(50466002)(48376002)(6666003)(5660300001)(8676002)(189998001)(1076002)(86362001)(2950100002)(80596001)(87636001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR07MB480; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD042; 1:BJ+XRh1eBFyxRUCnQ0WGGyomigrT3lMGP9ABJGWH1dOlCpS8t907PJMzjGFCc7DR5FSCoeL7OnK+FttCrJt98xZ8AROe+uxMG2C7zWQ2LbNffDEw37XNGXWQm6jvnyZNpHaW4ltixhSgUtMwyDcc+dXeidKGlgpNE+B9qUK3e+LpugmiFDGYxgMtXKKvXH9PeGCrrBxcApJguEbuQ+49AdJN3WcnrwKQEoWAFu7rNYhbWmZK9piBDxU2Q9ZcEzLgkcaBG3P3IqVhNVRSeZ/J/o+yV4MlcA85i1/fadfqt+J6Vv8wAym6ryUpye5EMQz6nw2V2xqKmC6gBJm6FEPrFECgUb0Q3oScKZ+/3EAkvPDXyPK11YFvxU1YR6t0+zbTeZbMEYMIUIm//ZilmJNYKtz+76YlHi3TE6UmUFYyEWNCFDAcOsmaoHGYAl3dfPqJtjgGlfIp0GyHGnUyJRUSQ7DU/QD4OBTHMgS6MV3Rgo9kzBoV1AuxAL66xwbuy3z+NTAyuGcKSNL/q98a+HZPIqfOW60IvObVsSJth+FaL7M= X-MS-Office365-Filtering-Correlation-Id: d501ec5d-adac-40a2-741f-08d46bc33334 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM2PR07MB480; X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB480; 3:PXQv1AV4Ad2eh/QR3J+9S9tcSoNQjqteNj8tDEL+AHjhMnbrJMLcxEG4uwaVPDa7vg5QpFzA/2sv3eA1LfKsWjFsHqH4qEx0EoSEDG+4JqlMqUvOEC9YridkAvS2cu6nLPY/Na1A6gMDXt6wfLj+SC+vzl4mjt6pfyCAu4YvO6B8hJPVcT/2DN5FzcdKx9unq3ChEZ8pqBY65JzFDIwTUSF1JlbvdQN4xfxR4paeLMQBHfuqG2uQmPFnni5YVPpSiJMd/5PNB4sHpSjQjHu7XZbZHrHQh2xTHumZrEVRlLmFk8Kbg6hp4MjXmNzIDA947DqHgW3bXYNLuMQxgNzaNBtJwefykAtFzZhP9tvDZUMi0T5Zfrq2NGwa3Tnjo/uj; 25:wsGNMOZwp0ohGz9d8ZJEogez4KEmeIIklGBb5lQ8fwCujSVgMOd6zlC0MWqA/Upalz7/3oJhA4k02/mzRSjLS8APYjfJDOf+6E44fDWYZePRP0z9CEo2AFKkaWn/f1KFoxVxCzcWE1gaLj5jqYx/8ayhnemPKkxV4mXm6E/ACm7/AwA9Oyj32NTcMF5tVCPT5DhMIN1aQOQUVEmkWBujp+XKDtqo5kf09UmKRe+CHFn5yu1i15qjWJAr7w4EOWRrdxpgbAgJoDfX43+C8ATKzWpapR0Z2+jo0o6DLG6gdPgBOy13lQLrgj/AAww8JulepPixA1yn2c5H3EQOofvaL3InOhHSzSL4ocJ+Rk4HgW0PbMFuqx4OBFz49dpCSrPqLX2mvpZfZyppauVmT8W52X63CyO6cz5jwSCtldrIpRMGMFK+haaNwZdAhNg7m0f6EDK2IG0KZf6P/QdXDMe/7w== X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB480; 31:jgDqcKrt0nuEx2zaZiWwmQw9GdoSdZgVsHjN4P409LUhlQFnDP2/INffmhjCOSWqhh7cu1PTdo+hgPbOsoUWPMuasNpLvC3Rs9HnVr3LWmxjrUT79EAuz4MUtV5LA2Pi9m+LkEeSihxTM5Al/H2Wopudrn0aHdLdUKOsHw/OnBV8YlC8m/1ObKKwMgy6zLtqrEOtqobKroRWByaeGhpjBrRpvgiYLK4wsvO3FruRqYWNwx0ENxu6TvHF96/lNpgy6LdiFjpEzSB3OFMfAAwjJyaFkZHfDWVu7TdWLsfzHfY=; 20:SSTacYHBGOJUiZFyY0v1B1e5r1V3sMVpLOuqOnfJdn+0/0oaw4UftVX7EbgdICmPsPuuD9xpA8swHOj0KeYr8+KHj4ObCFYq099FKj+xE/BrrQ22kSdfCc8fEL6OQ8Nn/f3KypiQ9qLUZ9UbBHxGTxAql06CwcA+9e1AzKaijHUCLdOYpDPn0Bokc8zjiS9rA3uAl2rq8ceTdYN3aLYPEXbrvKN4A7sGuC0j5X8KaR6JlKq7FDTbaHjy/4EQbiJHW47J6uaJaHG7t3t62fZaulEpL3RK2tQdPwue29dfUp7Y7AB62M5qGMsb75z66Mxk14CiBVrOZzCUBUGB0OLJRif/iVO3LISOK0jQl2pcEi/qEtVTiKLmToE2m7RIaYVEIgUepFXOAWnRTDWEMBFu3XZOx+qS6Aymcy/C49+lJOuk/PuInzrJ5L8+dlJnueBAPAy7Mm9zwrBCdgATS3O31igp0JzZIgkcNprRDnDqgpBaP4WbpJrQL1K2Pvi1t135 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13015025)(13023025)(13024025)(13018025)(13017025)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123560025)(20161123562025)(20161123558025)(20161123564025)(20161123555025)(6072148); SRVR:DM2PR07MB480; BCL:0; PCL:0; RULEID:; SRVR:DM2PR07MB480; X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB480; 4:Ks9S30fMCTSElX2b7rMBGJBYCEXbFaR84BLAZ4kjNXidPEKHgMtZqQ+nFavJgoeqqQIWs4CNp3G1iN8NWkPKzL11119FFcdeNiOpFoJyKzCS5z8mpkEvNeXhwekKxJhoY6pHfbGUkGlsFJuJSqJhoZTt4f2ZSf9ly5oTWtoJrcey5aPdan3QHfFpYhF5I8+mWMuaQYIVPxVMvEqNMyG5XtgzwIg/xJsC7J1wSRgMpL9mk2W4EObEn/2cVzAzmQ6tHukh7FJ4wG0QSNK45V9OZeGS2xiMOW6T62VtO3lt1i+znTAjJHwHw20dpagBEdIlElMGtU8i1tyNq56v/nuuGNcR5+Qb0/Wjt4tJMyYhLddd1XNI4P29tCIhkF7IPNX1Dw80ffEC7DUjxnruWCn2qmxizkEnKeoHoykTu7KFKaKfyxI0jLxMxvfkXRfEb5iafI7fdAuoprp4oNAFaef089Y412bpmGDduY5rWUBgN4jAa2L/IYveRT4esP/i59HuznSJKB20f6d0eKbIUD3SgJonDvEmcNGMQ1nTmr73OzNO1Zl0xS2GuNz7JvdHGmL+q628B+Lm9z0e01fX+/nr/j8+TXaSZ0siW6fznQ6uZX1+VzkEVzDDh7+XJcW6D77Qr7jXPQLiKy2m9+k3m2J6h3CGPbhj3oRCToROonXxASmIf0XzOBIFBSLubD6plHGTThNdZXueuDQ3nQlC5Y5kDRd+6uKMdms7sB2wVJFbd+QeBGnXalZhC2fKEkqIvMca X-Forefront-PRVS: 02475B2A01 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR07MB480; 23:DsGqC/QWYtLamw3SWc8/nMzFCi9OgiNFEIDmSNjdxQ?= =?us-ascii?Q?MQ43AqYzqLzvJbRB00uzsz+cgyLI1nf1jtqGuF1tFtP9ZXAcofEz4pWQ+H8f?= =?us-ascii?Q?pGvVd6ehh/ImFCuAXhmLfG8fuW0EGWbIz4R3/iiWxcPsLsQNXAOm/KHfs1o3?= =?us-ascii?Q?IJ6oZURq1xIjRPjWsSdcyqC0v9l5klU1mmQpQrYF8glkGw+cl1uvTXeAW7qe?= =?us-ascii?Q?ThIduog1jXW7BtQA8evNS90jatFN2VJYm4qLEi7PDCtIw2MQvDK1NHSXKZ2N?= =?us-ascii?Q?KH/dYC8ELmSwhCkcsm9IN51crRgFRM7om669l4We+Pi6SFVA6OtGCw1v4nns?= =?us-ascii?Q?LHCo2VnA5YeWbiug3PxET7DvrWUFrcTG7h8kfZi715FduRbzYfoDLAQvVKys?= =?us-ascii?Q?mcR+sbjp0SlrRlSBrO32ivH4EItoVVL5LGeVwqghqqF7EK4A8EMHctINOh9B?= =?us-ascii?Q?fkvvXsVeUSn4sWslNc0QXlvCBSLT2z+M3MvYSdpxG5o87e99Y2TCcmOEUjtQ?= =?us-ascii?Q?/bOyOLUm8pHUtfdkE5JFEBGjinh6QQYJT3GsHEu3l67K1OXoWL9DxTm/7IUs?= =?us-ascii?Q?TXCc7WwOA8eJ0/of7Av4X6QQW2oc8AJtwByyXd5BcrKxlBgU/bqg32Sryuln?= =?us-ascii?Q?mCriAgrJkofqQ67BLt29SbnnYGvihpoz7FNasIzD3ltt50cdu8uwapgDZ9n7?= =?us-ascii?Q?xL+rUi50UPhfsq0I8PR3CnHvVkVDlq42i0lDUdUgYLLKmFTNaVYNFBqdF4R6?= =?us-ascii?Q?K3aQQCcpRO+7UmGogCqvpDX86EF8wJtxnHfrnG5ERdz8+CU9n/0Rleh7/Dpo?= =?us-ascii?Q?bjtOC/g8QOkOO16Q3qh9llZWCV+4VVn//0TtfUcJdTaCIqynvzAziAeY3wau?= =?us-ascii?Q?UDBFZjgU2B6yT2W9Tn5yKWVdldMD6y/H3mvZpLMXah+Geq9EQsQqsnoCHfUQ?= =?us-ascii?Q?pzmJhvUE/jFgQHPNUHlsDGmvetrHDVpkgSFs+tK0J3Lg7R0HiNBErOh6URCY?= =?us-ascii?Q?w=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB480; 6:eJJxhEJ6nk7BQlBuhhUmDWnQYrgCoN/tD8BrZBGIqIVqIvy/NVuOXFh8uhUy5Dv5fq3OAqMdmPJi4k2HH4xHd8kV9DuH7oB60Y20LZjBwxRHh6TOV4rAPa0ZBYGgv/ntSH+KFtrtBR0HC5fsfjAriPsxyaDMqarzTTccVtV+ClxOxZkATVSKZ3GX72I6FHgaQuZgJe6/qEV74ayuQc8+Itos10Z78zZEHyQJ3dcnUXamZH1IHPCk3quflEpLQiC2O9VaUNFD1r6ZquL/mxnmPX8cTTqf7GSyz+5Wx7arQS31n793mvZPlB00NioDpdpM0SXZiHyW5/Vz2FZTv3UEUON60nHWzv4IZDiD/k/C9t0iodjQN4c8QStx8plpAcP3C5kZ6c0wX9TMaIUuDappAg==; 5:4Urlx6p9ICIoe4y/N1510VRh5pBxfHvl+BxAG6gstTqn/R+dF9HzDwT//4ihP/Ds7gCq4FnbL5ys/jVNZwNzBrk+mY6cgPyAWxIykE2UJLE4JBM/pd6xZfZuIilSPYYLMpJixVVA9YX5TZQ+T5ht7A==; 24:/+bLHTZOdDrNfo72rZniaAYZ8rk/xCI/nscpv+Z3LF71bIhGXkidIJ9SH9zeLszBc3Sto1rMxcDvoxTOdo8edJzfbWLVK5pko0K1PfpQb4w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB480; 7:cKE1nw/qwBSQ/bQvGXElfgIowdMsDX8APPOtoPKgf/RjPO2y8SO7nfjGWiwqSzG8YVF6pthbOhlGKcrqR2+AUsNUjHtinrxItR/14K7qEp4rgadJ8O1+l2SOaOO6TqSHjWuFNkOvEYJElUy8uCOiTSeKcPXeqAedRe6KZMSZTkcetV6SWV8VvvLtkYZs8kdG8T4fkUhb3B37kEVmQNTzReFov0+zdu/7L8AQX2G9eikS/2kh+0b234e/atuXJEhSZkajtzIcWIAQDtMuFrF58gqmhNIu77hBE94CyaHBBWG7uelHN7e27sG7swuq8Y1Iz10Id9vmggHBIn+fBTarhw== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2017 16:49:08.4364 (UTC) X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR07MB480 Sender: target-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: target-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Quinn Tran When FW notify driver or driver detects low FW resource, driver tries to send out Busy SCSI Status to tell Initiator side to back off. During the send process, the lock was not held. Cc: Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_target.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index ecf97c5993e8..a463bcc57902 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -5079,16 +5079,22 @@ qlt_send_busy(struct scsi_qla_host *vha, static int qlt_chk_qfull_thresh_hold(struct scsi_qla_host *vha, - struct atio_from_isp *atio) + struct atio_from_isp *atio, bool ha_locked) { struct qla_hw_data *ha = vha->hw; uint16_t status; + unsigned long flags; if (ha->tgt.num_pend_cmds < Q_FULL_THRESH_HOLD(ha)) return 0; + if (!ha_locked) + spin_lock_irqsave(&ha->hardware_lock, flags); status = temp_sam_status; qlt_send_busy(vha, atio, status); + if (!ha_locked) + spin_unlock_irqrestore(&ha->hardware_lock, flags); + return 1; } @@ -5133,7 +5139,7 @@ static void qlt_24xx_atio_pkt(struct scsi_qla_host *vha, if (likely(atio->u.isp24.fcp_cmnd.task_mgmt_flags == 0)) { - rc = qlt_chk_qfull_thresh_hold(vha, atio); + rc = qlt_chk_qfull_thresh_hold(vha, atio, ha_locked); if (rc != 0) { tgt->atio_irq_cmd_count--; return; @@ -5256,7 +5262,7 @@ static void qlt_response_pkt(struct scsi_qla_host *vha, response_t *pkt) break; } - rc = qlt_chk_qfull_thresh_hold(vha, atio); + rc = qlt_chk_qfull_thresh_hold(vha, atio, true); if (rc != 0) { tgt->irq_cmd_count--; return;