From patchwork Fri Feb 3 22:40:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9555215 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 7FDC8604EB for ; Fri, 3 Feb 2017 22:41:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6C55327F9F for ; Fri, 3 Feb 2017 22:41:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 60B3C2815E; Fri, 3 Feb 2017 22:41:54 +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 ADEB62815E for ; Fri, 3 Feb 2017 22:41:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753014AbdBCWlu (ORCPT ); Fri, 3 Feb 2017 17:41:50 -0500 Received: from mail-co1nam03on0046.outbound.protection.outlook.com ([104.47.40.46]:29856 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752994AbdBCWlq (ORCPT ); Fri, 3 Feb 2017 17:41:46 -0500 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=2LKDSOttHfQ3M733wF/ooIlP3eJ5ukD8DIhE9yD8Y/E=; b=F6/IzZkvSTeFALYB3nLGgyoRyibCREaOZKBWTiLDcD7tgScMkJgAGhg7cFwJPRwBqiF31UkEXwVo4TXPfqbglaOBa3MZXDKjNpVSBMkteOgRUw1GdV/Umj0lXHXlxFbrPvLI/ZEsnlhnKtjh3yzLCybbmhe2tmMcmymrhk7e/lo= Received: from BN6PR07CA0005.namprd07.prod.outlook.com (10.173.33.143) by BY2PR0701MB2086.namprd07.prod.outlook.com (10.163.156.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.12; Fri, 3 Feb 2017 22:41:44 +0000 Received: from BN1BFFO11FD023.protection.gbl (2a01:111:f400:7c10::1:142) by BN6PR07CA0005.outlook.office365.com (2603:10b6:404:3a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16 via Frontend Transport; Fri, 3 Feb 2017 22:41:43 +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 BN1BFFO11FD023.mail.protection.outlook.com (10.58.144.86) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.888.7 via Frontend Transport; Fri, 3 Feb 2017 22:41:42 +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; Fri, 3 Feb 2017 14:41:25 -0800 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 v13MfCgk002376; Fri, 3 Feb 2017 14:41:12 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v13MfCD3002375; Fri, 3 Feb 2017 14:41:12 -0800 From: Himanshu Madhani To: , , , CC: , , Subject: [PATCH v2 10/14] qla2xxx: Fix request queue corruption. Date: Fri, 3 Feb 2017 14:40:51 -0800 Message-ID: <1486161655-2307-11-git-send-email-himanshu.madhani@cavium.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1486161655-2307-1-git-send-email-himanshu.madhani@cavium.com> References: <1486161655-2307-1-git-send-email-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)(7916002)(39450400003)(2980300002)(428002)(199003)(189002)(356003)(106466001)(38730400001)(81156014)(8656002)(2201001)(86362001)(54906002)(5660300001)(4001430100002)(81166006)(50466002)(5003940100001)(76176999)(5001770100001)(48376002)(8936002)(107886002)(92566002)(47776003)(50986999)(2906002)(101416001)(33646002)(2950100002)(4720700003)(305945005)(36756003)(8676002)(80596001)(1691005)(189998001)(69596002)(626004)(50226002)(42186005)(6666003)(105586002)(4326007)(87636001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0701MB2086; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; PTR:50-232-66-26-static.hfc.comcastbusiness.net; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD023; 1:w8GriHzVTIjKjqefJVuGtc/RA69soZZQtEl2B2/4PXNdST20+uu+J7fGYByC0QtjrM1f0hwIA++JDOAFnD8hUMABA+piAiwyvyCN83XZhrt0rsrG6P/Jewo7n13OKEWIW+BNlVggi7mdbduxzxzGNaxs1yh1yJmpH8TtgGd3KefLuY1EKeXtDJzqBgGQ2KiG6YR8PhJSdG/hmL2IfLv4Wqd09FhXfqkCBDeKhg0V7/gkvdtOZ5jAb+4TqcaVMbfVrDyCu7Amb4VtIIbml/U3dJg+Gs8WjeNhf0f4wkNSnA9sN1VYEqD3WjwJSzYLfQjedF/CUG274mgJuYMv5Qj4sKZD4rv605MWETy0U1zfzpYYWe0mdiocM24wXPn+iOVLIr7/DozxNLF+ePkUaMq/JamOlQQs6zlNH2TepEvzZ+UC2c1Nh2gFFjM1xGq0duPBEKLeL1VCjQAyPVUtugYcZdJB64AnJjES6aKam4Qi4U1UDYiMNzMfk8uNUa9RaXfjL4j8dY2gOG0+yG6UoJL529Mq10roqHL+G8LlFmP/a+M= X-MS-Office365-Filtering-Correlation-Id: 542aaf03-3033-44d5-f57a-08d44c85d3b9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY2PR0701MB2086; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2086; 3:2/wX/dIx4HjNi15Wpqt2oWGxJaE8oWsTwKSB3891FOPM+i5/b5G6itU9RJ7HATDx8HBskRvxKX9vGRLtFy2rYX6kJuYZjCQ8In+vmSmlWwaLZS/YB8nw8xZ2rcbvpa/XuNLoYsEAeCQK+BU2plWVMAuPNv5JFRZwtrnkhInBkNpTEzheGwGmU3k55dwRyUxzPq28sFqXvfifXbywGhojBHW+UlI4GyrdykDJpFhKFU/uic/TwGMdy1KpO+78e24+xWhGH5hlp21q7dnpUVqdW6QK93bpllNP4CUvRigeg1rNT5ZGdgP+uHljPpQyiLcy9CiSlRZY0yqj5ybRJkIo6L8zEXWaqb/U9t3ZkLSOtXDwVsDJqejzZVXFfmQJnvH9; 25:JnKV1Xk/Fy9r03ib0yDCE3scquFCyeehkhohYJGOb7eBiWQ7iGGkNNAM9VQQvFJjssNFwKoK/J+LF+g/Ml3u1KfOAjMUZi49WdHj4LaMV+rZZj+GukOXbfF8tBs3qYzLUDzuMirAkWDU7Zw/Wfn8fMVUokVO+bQLgfScsPoIfMr+JpqB+KzRrcfWsesmFXHhJp9zsP2UnNE0v81dws21xi/GCCatmsJS2A/Yrfh9VJL6/u1Mn9jaPXo8Fc7GOIZVKONAzWOmEi9kowjeGT4CxkGeVUcudnPKiR0oXhTx0URYlclMboz2QMaOCmgUC9+M5BEi3lGFFbKQ0vr9S677DhfzK+CC26iwmDX6RnceI0k7H6kpY6hZTZibEQhafvN01xfiW9rsSGrHHniCEUf3gHfiOCwYqmVZEOpvJg2SHLUML7y4rbO87H9ytjX7dVTXSmKVzvexDaQtzhBH7QEiqA== X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2086; 31:5Wn3yKEqvVyAlkUMwZ7VpygO7lfAxz2ZpMyByznwVHD5o8zXxERR94uWQGNhxiVKMiv3hLgFbC2ZS//tXjUDaCOslCqkRhZXZcd9X9StCkyxEIiIlznwTCTHGQiP37mes32XQX9G0Ol5x9TnLogPbzXjUzk59fFhzQD1FAtaEgMWQUD7kUWeB/EKLlRZVeCrPkza4ogdr+27rv6UmQomxP98IX8pXDutyXHtQ8smQi++m/bQPU4ecjk8oAsss8hxu9QF9EYTlp6ncDusrhMLpw==; 20:EnWhvjWqlSUGyvrC4R+Sv5NoCTE9mTzowqWb7r468HSw9RT1NydRNJFDvyibRbg/umA5jxAiLW5hiE8z858IIIetvn2jKrvBqF/I6E03rBHjj9yh73EZpyf/A4wrAy7thgFQXr2rQ1bnCbsoNqd33TTLNxQKBL++PqLzBCNhEBNCkg5b0yAJscp/XWQsRj9jT7dE5y/27CK1RpG6BbJMG0mvyfdBln2WsVmnH/qyae6uzcp3efXfXd5lMe1cIZRqOOwL8BE1JSG5U0ruJ8YBuncEZSZcL5squzjXpwe71Hi0NQ12A2mh2BkM0LGwc1xIFqdxSPWLwWUcDv3dqzx2NrKrkAUtJmZ0cbP5x3m0N590P/tlbnpHmrJklvHQEQKyfpNbguARqhQlTr4XWBBiO66o8ELDJsO6859wvPrL8TshZJIqs34rpbG3ums0kwU++QTax7CUjkbdNp0Tp+CSiHVyTnQBK5VedXgg8HIlpBY0xBwhptgFMUgngbv1juvc X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13018025)(13017025)(13015025)(13024025)(13023025)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123564025)(20161123560025)(20161123558025)(20161123562025)(20161123555025)(6072148); SRVR:BY2PR0701MB2086; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0701MB2086; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2086; 4:+l30W2BpUWkPfgsQAeVGOsFdQTE7QK9594gq7CLXrw9TBdyTbIOc0GpG/4o4VTtnEm8WCSLRi3HQ86FdGMxL3gtpzCAlV4I93HmU7HNDcIxBtk7Q+prPPZtpu8ITo+JC8Fwx0b/eIb36jZ2DxzBGMt6Mo6kfF8nZgz0qfFedRkoApK5cg9BV5C88Fjkkb/iyORW0F016LEJFBtGAGjN5SfoMozW3KZQagqQo9uZAef41cbJo3nweCqnifuvg+KPsi+1meVdBCgyyLKWgvgRDay8kQjtH0XK0mmZxjhmj84vNKWHlSgkBvrmm61J7ykJb7Wo+srEY001rX/u1kfBcWPiD/zNjJdwW0xFnjuC/5je0DXmg2R/FMgmYqJ8cS6fd2zdZaxd3Ir1gvdpOGzcyksvVAa5zFJOkf5h/34rLvrZrGSjFtsMhIIq9y/+6OF31ZZ2nfYQ8VykIHzz8cVomWpy+6FjY+NIhzkkHKVGLJ/41SEZ+gxWF2i7rfGdsKEpuj6DnKd0wyksQyifjHXdKSwoTX24mAeY5qtrho9OZFyGZceI4F7SXterb/2CXqMdWSVQrupGrq0HBKGVOCpdhmhoHxB2BCLvB3Cb0TZCr1w271bkQgwQmDy+l/VVqFyf2S+q5La3T1hevvH7ucNYGftXLtGCxYJFQnPQi2A2GluRhGX9aJNwA/+XOBpEY10wznOsAMpJ4+MFLJwLcgmYpxQ== X-Forefront-PRVS: 02070414A1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0701MB2086; 23:uj222R7ti6WWiTO20CNBQyXYqjz5PVtlcjCaYh9?= =?us-ascii?Q?6g0e8oh3XMgRsirr9HleCZ/maeJSfJPlxdp0hMti4D3shGB6jwnjFyMiv4Zx?= =?us-ascii?Q?Im7eoRrwPo1LALjLc2xF4KdR9k3OGpXkp5N7PsH3OV2XyrXEzSz0WBl4qyZE?= =?us-ascii?Q?anjnvrrpxH1a6km5VHmC2ZNgP3EcZHOkfYJkD3+rIjiwAA0EGD7mQN4Sppae?= =?us-ascii?Q?zTespLQ/qInv2Jo0hzX1STQ+emE9ufecAKy5N1snIBYsCNqUlLESbGSncJdr?= =?us-ascii?Q?Ornv4T684SQABupJjdxx8gMMJib9R6xYLe6ElikugvyUt62BJK90CqFaTLrv?= =?us-ascii?Q?dQfdcz/4ejwaGzMBErz8rEd2/zpcZGz5zHEXkmyIkv/rj0uAjY2FH/NU4Y0s?= =?us-ascii?Q?qMT1EQRx/66r4z0OnDkSYcqWlD/F2oOZufEmI06ezZjgbbztewzEXxSLFOd9?= =?us-ascii?Q?9LuQzjVdn9j/Qnbpmm7wH0HlhtXq4QblQLvUmyNnUYUWfmFIOPDXRHAQOTrZ?= =?us-ascii?Q?dGuZJ2ZED+v37QUHty1iPfiiZC3gQjaLxfj0pMwnORkfJAe+dhe8QvSn5MnA?= =?us-ascii?Q?d4yN3M+8+sZ5WZ8g4qN5092MIzQ7Ol3fHhziNg3j66q1gU3q/YlWc+NGdYhj?= =?us-ascii?Q?259sINxRIYDl08UNmgNl5TNtL9VQgw4Gxv+/muJofsMHz1wGGvdJ4hfNlAhU?= =?us-ascii?Q?6o4u/jwD3oKhCPRXh1qyDq6/uFUA37kcuWqjudD9KXFB1jtMiN4EOXX/LD4l?= =?us-ascii?Q?MoGq/yH6efmyz5saqjgBH50fUekX3LUDrp8IRxjzmhEQNZmbwnmoQuIXuo4c?= =?us-ascii?Q?QRQG+gnlmncMRPXMxIYbg7pwq17XNR06j1ZcghBubOULTMU+3GvXBz955zpy?= =?us-ascii?Q?+T85xIjAHyktC/W+HC7HS5cpz8LuUdt5KE49fWgmMEM6U+H/G/qsTVYpazFk?= =?us-ascii?Q?vSmubg2Saw/VBBQbzelGPqJzh5gzyrw5jIhEcmA6GsZd3hUlHB0Va4lindTJ?= =?us-ascii?Q?2mj3zgVnl6yEjUAC5grLxViCsXnGCJMB82C104uBJ3P0iZDHYGY58ZlG8sXQ?= =?us-ascii?Q?NlpW0DZX5IlCvDIjmz8Sh0PNjrHG5XuZaOxb68sNdQ5qDB/YnxkZ98YC2c9S?= =?us-ascii?Q?Uqdb39Idr1E2wQh7LJ+4zoBHVtnBR7LCjDl+w8D5Bs21kgVDNpxxajg=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2086; 6:BDNgRgXb1NapThwrezNkGyJWdRKc6P9sSAresnvVkdOXnwGFJ2qluzOSBTU3s45PtRbYqoSTiANZYJ2+FCdtwzzf4pPcxUzW8c4LVYloppd+zx3L+9xCaJnXrOG4uBe1ocQWy6kzBJ7vBsJClwL3K7OxZo4zmCdG93Vg1M/E/0fkatIWh+Klp4u85OnZnJ5ABNI7hvE8tJWzKOOeYhV7Fh81uM8RPAraKtE9S0NLkwePyxE2aQZC9TcW5/DmnQMW7i3By/vrhf5LH8CLs43VOmtKPQ2ptoxjA3ZNWqNnJfdPCd362RI0qWb5xO8+2OFCfzqq/O9m3g5b3MuNH+ZFX4m/ao3Z62d+uYuNpoR1J0ipYAEqh9+r3e2mZHxfPElebuX9grsiHhaS4NlQBq81mqKBof2EdGYMAgFT41dRLJ8=; 5:GCfNToU+Fhr52PQO+D3aywTQnCuFwSG8C9Qrna0dEPICKrNv6dZ6LbBs2/8KHPw9KM29k8fLI3X3oSP/p6BM4GPWpTwcPFgsMooGnA4p0CHcd/DWaP+MGNvglGjU6ldKG6JqbD3TT1WDxJxvYfwy89gq9llxmJn8+rqoLVbZzV4=; 24:SFwmR03csYOK2DFfZPpnNTmitTrLbQpxb5XgUGEgDiR3ih0NGcCEnzfbV8p31qiSpS2Ci/l7hs07yjY8XjcewQf0L8tuki8e6wOzz5v4/q8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2086; 7:aWnlmf1TWfwnP9KyjmlbvqLmkcTKHM2kms8EVZKJBXYFr+gdscs8e3KMJBtsXwkbjsBh+DxYGwirxaXC5gB5lRUcVJLXNwDODFkQsAH7FwsANYr/iMdrkbuVaKHLabQK9fX29xN84I8letMZFew0sqSz/axe3X1M+M8bi/9tzrCZye5jZolKI1YCkT/o8BO5a44ptJP64tJfSRmJe4tXTokb/YvKCrmg4mwJ35sgVmc2pTU+Y/TrCuny/kxFosaMqENbC+tXLhMd1p4uBgeRT6XOJEKGDxjwgiwtKXsBsYQZ9yS9OyMJGottQcLx2b/DXn8oHl03MMuTr/psx/Rs8hcIeOCCTUOER7legH42QplMkI/s+dLxDj4iK7dnJXNhvI5awA6535rTX7gMC3J+mLWry+6tMRJNHXVUjRIY+B2M1F5695O6UsvyXs+n/LNCO5PqqUDNKJqe1dZkJVeDrvRLJTuJq8HrEsetB8QtChVT0WNzxvuiAa1JaTO/waFZJTW4LmyN+neQrbBbaYJLmwwnVhaXV+66J0yKOz226CbUeKQHuIOoPbaNxijDkifo X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2017 22:41:42.9035 (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: BY2PR0701MB2086 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. 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 b61cbb8..b5fb9c55 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -5170,16 +5170,22 @@ static int __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, uint8_t 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; } @@ -5224,7 +5230,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; @@ -5347,7 +5353,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, 1); if (rc != 0) { tgt->irq_cmd_count--; return;