Message ID | 20170315164856.17255-4-himanshu.madhani@cavium.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show
Return-Path: <target-devel-owner@kernel.org> 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 <patchwork-target-devel@patchwork.kernel.org>; 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 <patchwork-target-devel@patchwork.kernel.org>; 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 <patchwork-target-devel@patchwork.kernel.org>; Wed, 15 Mar 2017 16:50:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753274AbdCOQuv (ORCPT <rfc822;patchwork-target-devel@patchwork.kernel.org>); 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 <rfc822;target-devel@vger.kernel.org>); 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 <himanshu.madhani@cavium.com> To: <target-devel@vger.kernel.org>, <Bart.VanAssche@sandisk.com>, <nab@linux-iscsi.org> CC: <giridhar.malavali@cavium.com>, <linux-scsi@vger.kernel.org>, <himanshu.madhani@cavium.com> 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 Content-Type: text/plain 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: <DM2PR07MB4801E8C0E8DB8546A08BF80F5270@DM2PR07MB480.namprd07.prod.outlook.com> 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: <target-devel.vger.kernel.org> X-Mailing-List: target-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP |
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;