From patchwork Fri May 19 21:53:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9738245 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 50B676020B for ; Fri, 19 May 2017 21:54:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3E08E28562 for ; Fri, 19 May 2017 21:54:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 32F5428573; Fri, 19 May 2017 21:54:06 +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.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI 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 AD22428562 for ; Fri, 19 May 2017 21:54:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756795AbdESVyF (ORCPT ); Fri, 19 May 2017 17:54:05 -0400 Received: from mail-cys01nam02on0054.outbound.protection.outlook.com ([104.47.37.54]:23072 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756760AbdESVyC (ORCPT ); Fri, 19 May 2017 17:54:02 -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=oYT/JkiXu7ZMYPr1FhnCpoSdw3qD6DSJK8lExklyMgw=; b=oBTe9SuJ4OZ8p6wHogigUp2HNhPwBhmvIANu4xcJjzfK1N4VLJ7jFlW/mZ1WWn6Xli0mzhLWXd/E7rFh0424leIv+hlBu0APuNXxuzqNuJ8rV6N9R9yy7PZ7euVEl70TdP2GurrUs6tirQAawTE3PrWOoV9C0TXtfUvl83XzmL4= Received: from SN1PR07CA0033.namprd07.prod.outlook.com (10.162.170.171) by BLUPR07MB419.namprd07.prod.outlook.com (10.141.28.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.16; Fri, 19 May 2017 21:54:00 +0000 Received: from BY2FFO11FD023.protection.gbl (2a01:111:f400:7c0c::103) by SN1PR07CA0033.outlook.office365.com (2a01:111:e400:3000::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14 via Frontend Transport; Fri, 19 May 2017 21:54:00 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.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 BY2FFO11FD023.mail.protection.outlook.com (10.1.15.212) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1075.5 via Frontend Transport; Fri, 19 May 2017 21:53:59 +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.347.0; Fri, 19 May 2017 14:53:45 -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 v4JLrjql002223; Fri, 19 May 2017 14:53:45 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v4JLrjuf002222; Fri, 19 May 2017 14:53:45 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH 05/25] qla2xxx: Fix number of queue pairs creation for MQ Date: Fri, 19 May 2017 14:53:24 -0700 Message-ID: <20170519215344.2168-6-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170519215344.2168-1-himanshu.madhani@cavium.com> References: <20170519215344.2168-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)(39850400002)(39450400003)(39840400002)(39400400002)(39410400002)(2980300002)(428002)(189002)(199003)(9170700003)(6666003)(80596001)(5660300001)(5003940100001)(76176999)(50986999)(86362001)(2950100002)(54906002)(50226002)(1076002)(72206003)(2906002)(478600001)(38730400002)(33646002)(36756003)(50466002)(87636003)(5890100001)(48376002)(305945005)(81166006)(8676002)(356003)(47776003)(8936002)(189998001)(105586002)(101416001)(106466001)(42186005)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR07MB419; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD023; 1:PTyqDIgmrQTTkSnud+4Aw4hOPEW9rLiLbtfzf0J0Mf0/TK9rzEiHtvhnRtuaG0XxcVCr1EIrZQrph9+w5Iu90enJ3BRXFNfDxgDO3+RJuVZIj7/tAACdl3qHaptnwhQVc6kIL1F3ztdCp0CPWK1M+BwxciqO1UXj2yZj3OG2Uo5EVP87RyZqZx4d1I+N1igrsMTmaG3luxHpXkdZIunw9uJU9FjLdbEN3FQrmtiVWSIbcSjgBBD0XGEhGAyBA+pjnim7SlI7wnKWAb9dKOls7EI2l1WWzT+Ici+dNQGpRD77sfHg9oEDnvT7YWwfYE9Ai8kSyhbICcqhUwbmwkETZqB45Qr71whmfrEmXo9QMyGJsdEQG8zxMN2sHS5J+PGPFyBJZ5qODp89ARnFUExzJk0ZkcbuUoKHMMs6NbuV4jrqyHjW/A4BJ3Ado/04vcotHWDUQD5pvW4XuvBUmmhAaR2g2gv4Mrkqzxi+EYeOQMEsyQmWV1XuwahF+VNUYKzOqgNJ478FxtqClZDBho1RKkL+WaAyZjitYYv7oAHKJpUE95LlUnJveakHfeW5nEBMGzt9bF+f5iLKsFygAHppVw== X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ea46af2f-fe5b-4ccf-1f3f-08d49f018e5c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BLUPR07MB419; X-Microsoft-Exchange-Diagnostics: 1; BLUPR07MB419; 3:45xJCRGaTLCF5KkR/C3UTge1QlcfCaVleljmxHJMfN8kGd5zJ1wI6i3+hVzrt5WPs2dRI4Pf4XCmGem/ustRNRy41oiDiQAvfvSZFIyn85MZnE2X8RUwoV6r1lxoWuPr4cZeO2Bn/jtKMsRtKEqxGurG+zU+ncoVk0tvIxDhqaW+VSR6sCs2/lMV9mjM0LBfuUCemy2PIT5kZYzv0DzqME9bR5O0e1aVgg01dJNCquChd3ZHxvoMaTNv+boWCV8FeTkFLlZ1R4O775WZpuT+1mFOT4gyUAsCREMgM69fhYcL37tJpH9lTSnK7+Ok7Gqv+vbF74R8AUEUJxrUoeSHIOskAnVIHEBpQlRKIkTYt+7YFu6hyhD3iFOkh1r27jgqDwG//T62YQvbmdV+HDgABC7bp428DzR8p3BQukzOQ2HzQpT5ze5f49eCh/ivHU5kVwL1MHGGTrfbia8ttmjMYFtqiw0ZXHMoS27YJvDX/joNkXquDveGg+5U2IEbvg+S X-Microsoft-Exchange-Diagnostics: 1; BLUPR07MB419; 25:FXUAwZm6wEqfWyV2w48htCE513Fv8uNGE5GNvIpA16NaHj6lmSw+UFhvC+5Ae8/FE1N7vYDKGHI+SVKM1wD3cyvhC9gMmq98L9jwVx6dxOAYiqXz7JPvT80MoAQ7VWNw1auz+bZi9Ln6eMJsrgjAstNF7bP7NkISXZBFIqftbUwqENQnbVPQ8YTB+h4CWqhGV7Wb0gjTisgYhUvB0/Sf/GtxA0my/q5pvOCB8QH6fnqu6sx17f+AEKOlu1wrG3H31sxUJFtCH5zo7mPJe5fS9VWNTJPFL0jmD05fO9CeAqOYf4Lvg9NquwSCVzgu9W7Gm7bblRUhbgPb3cDgEhcI1v6DxlP1bSWbTmJKbM8FYUR3csVonRR3JwkSVyK7xT9YOHZT9IroAHQUqtpn0ZhBRHcDbxJUuRp4sRZg1E8xNRhSTL8iLtGplarA49ejXO/a2QfN/3hJbUdIkoQS4nJxq0JYpsENC8MWKhtIAguKMrI=; 31:LKeDdH/LWJs6T43xLCZCR4aAnDN46NNRH9oEvnkxi1Kefwx/vY0Q3ziwlT34dHCFu7LD/E8TWbVOAjy3ViIBxr0LKCCG6KX7rC2H+mveETGuonG5ZLTh44fpfvATVcykHlIU0EWN6lHWwfpyxTJ6e7beuZL42TFDFZdiIJGqFCbc6BN4ruksfrz39ivrbklvRTBvse7Z3HMKwzckU/XL4Ee5zUtb7DocswEWy85nwija5yqrUmfAgwNg24LbJ5G1Hi2qyPHY72tG4oF0PybwIw== X-Microsoft-Exchange-Diagnostics: 1; BLUPR07MB419; 20:A6ip9f2QIe9CvmCoPhWRaaQ4yvkYJ4Bdf3vADpXD89IKDghRO3rnS8IbRRF5J49J9WEnGFJSGKGNPb+h4ilOA0bE+dCSkTpruMSWtPz6Lver4IHuUnWoiLDOcLtMextpMOxu0V8ytdP2niC9Gl4RUtHWDAFScmjRQsEtxZPbMcYnwCSgwGU8hO4XW64MM9hRbnDO2KlYLy+s9e36Fnh8CDlNMr2bZZ6ZeLflElRjzcM9VBzXbz6sQy0lXBMLXE9TEr1MdiVVCCQdqd56wgcVJHQ/FHV/akCRVFNpltLy0BKhBoDnLu5quOxycBrz2TXDN8v7PcOOH/EVcwCr5hH+pPddrwVDxmymS1Yyib75b6k+N1yny1c+nYdXRECVc2JnISlgJqyTj25ER2e9DgoPxj8dKiXhHde9LDUCwF8LXNM59vl2ZTugoshEp//TzaCZllakPkBy7omJIh7kvTO4WtajQnQU9gx2h/ZVr6oBdJolJ2Y9dW4dQ+3ERLdGDcdS X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(13015025)(13017025)(13024025)(13023025)(13018025)(8121501046)(3002001)(93006095)(93001095)(10201501046)(6041248)(20161123558100)(20161123562025)(20161123564025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148); SRVR:BLUPR07MB419; BCL:0; PCL:0; RULEID:; SRVR:BLUPR07MB419; X-Microsoft-Exchange-Diagnostics: 1; BLUPR07MB419; 4:wfhMc578q4v9HREel95k02++4wlWtEiBRkXPJxP5LykeiQcXt3fiP1fRWsMzfLZeJibFMr2ir20Fn4YC0PkemujwzAMel2F4IDYnBdoGp5uttJOei8UTQ06eRA4ZBQfF/COzghozC4OEY82ocH/6SoJMtSaR5bQYowFGxeBuXHL/VLMh34SCLYAbYlEf3VIdqImMo4gIxh7gylN8Dp6+X47EVHqRBYEz6ILGmq6O76bzI3k7Zlkn+JIgrmJSr76H3XHA2XWrinnpYCjMu2hNdE2TiGP4EiU1KW6lXkx2O/4GVG8A1aJnSawEI88GFip4CxU5BtO1fvP6PDYQn9xNzEc+3ogykxkmiO+JNEPY6VCBb4gZVCwiIfsb6j6dKKYRskHRIkEFFB/fcht3tSu3m+SViEzuZJgGC3hZzTQTGHIo00pRa39ydlIoyaxHuRRHqzsVL7HV6kZgZh46qe37UUBjn9Ne8e9Hae/70NaKPN7k8S9cx0SDSYOA+pA3rKMjQ+mehskkxLSC9obZtqvSzuo7BrIKHWghnOpwXvygdinhp3IUYuXLDLZL+fOheMvMOVh6MoWbRijT7eScvNko0vBFBDD9HZA5lEYIEeQCjrEEr0CfeeySCRczQPc8241lPgxt5lgCnyk3vq3rcg+dGS9av2aFkNclOj1+/OKKgC3ST33J5jSdj3GACA5P6hgjjCwjdAl0RzuPSxm8DhlD+8dx42b9rH1TN+VMmI6OQWu2mnb86byRT6wRNRP2RS90UeV9NDEg1hvaqA+DgPxICSZVVu7xdtYWino46uFprmjLjbqkOxMFX6xA+79ydWjOWKjH960vVnilhfz4b+s3sHr8vAEvu3iXUXtaKlFEXf3IvK8DV0UI9SKNd9p85kezoTKUhY5HOdJkaxS6yUUngF2er9GcAA/HfGPaNBr5Mp8 = X-Forefront-PRVS: 031257FE13 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR07MB419; 23:A1fUWR+POU4MoiSCfZqsZ02Hh3ITo7dUntxSNX9TBt?= =?us-ascii?Q?Dsv8mPi1pBoEjRhBS5NrbuGznUE1/3LRMLiCFk+Nj7XxKU2meabeMCscY1Au?= =?us-ascii?Q?lUONw0u6a0X4j0ZcakwAez6PXbpLsFwE1hdU8232BI/jTsgE6NT32csDRlvS?= =?us-ascii?Q?lha7jWwW9G/tz3OPlErL9VyuGvOCzicNSbib0BWgOIyP0bGCDQRKo/mpQ2eP?= =?us-ascii?Q?wufSuMyO+S3fNsBuTdEouEtRSXRkAcB96DfTxriq+3wvwiHKM4J+AikgvTKF?= =?us-ascii?Q?s13YlgJRq2xWCsO/fEwRXBwtGiCJ5kUVffHdUwUIH1MDd5sXeHV3dUSJIQ/K?= =?us-ascii?Q?1tdY/+MGsY+SOcySltZme/kDt8Amh1ZAlJu1YP2231oDgWyJA0V7JBM2Qau5?= =?us-ascii?Q?Gv9cdD+aCsVf7y+67BRrt64IzAxYxKfn+3oRDTEdZzYaMTkjqmqrZBLDCmwQ?= =?us-ascii?Q?uaaH1MJvT1FGLOrtJt8J+FTj+0ZKlay1avNerigN47hR3Zpr01JLsGeiZyXl?= =?us-ascii?Q?MxmbitKXKvaVVYl6jUqUk+/BS+hRRhtufX7xPajgfW329/2TveJF2n1It0dC?= =?us-ascii?Q?BQeKFcSKwuEqdPOhxAhVBORQ/QaSQk8bS6zrNedxnD7SN7naEKrHBHTHvDqA?= =?us-ascii?Q?wi97QUrTooqv6QtMEGG7sA9UWjABsSJNC9fIhXudsvnHf4BDm+2QXSn3KltT?= =?us-ascii?Q?ShKs5HyHFqJdnNRvd50T29FMLnjtIO59H4EvXIkmWV+v3DGEhcG7RG/6kiZb?= =?us-ascii?Q?GUybNsEz8UVRcbpZCNQ0NzpDln1kYZBLRm2I0KlsxnnTdTs8kvQN3A1dDEEo?= =?us-ascii?Q?rIM/xaXDbFKCLFsWNqKSX0fpI++I6UVt2eWWy4n0HI5aCb8PqNf2wCj3JmuA?= =?us-ascii?Q?aQM3tfi8TU/quRo5ukoagqdWjGK9UoOgEPCBsLBaM15lKuz7/owk+F/TYy0l?= =?us-ascii?Q?BpgDf0WFb5pOtT5wRzZyqW1/S711hDxOzEa7pdSS0B+kr6C/dV145xIYo6l5?= =?us-ascii?Q?LZdi/y7oKLpoilfaq4Dox0Xd2UTo0DGTEY3s2TGzsC6JnuJLsSKAp++5b3Jp?= =?us-ascii?Q?syCp9ksT5ug50vatR4j2R4003JxIpvUrtckXdghjM5i9kGjbWyhMnKPq5heH?= =?us-ascii?Q?JEf/mxkx0=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR07MB419; 6:8OD9rLtYrpyhMcQHnK2Bn+dTpph+4AjoT29t+zhjj2FUCPotFBmLW4kM2BzK/j7MzefI72FdDw7/8fs+c9YtPTycy/CsQDoI+zaWdhNW6a/dAs0gNIibooynHj5uyb8Ei2PGAXfUOm+JRnlMogpwSTPddYdOV7Y5JaJxvMh0YuHMTuc3KnQtrueTkuOTNyL3zRmZeZ3ZxYgAMKHfISsakaTYYjSKZ8YtD+amgnp1c/kxt0RH768buGvD9iI7ozDIdGRdNcRcXqIHZmm9nrO/orKorXxbUuFvPOWp9jxTK8m+V1bIIeGbppk1IoTqJYxDqEzDj65XRwGflnOx/Up/U1KxXXKQwxiCcfNgIwZs1f9t0h8eYf1V7TeS8Hyd12anwGO3Gr0a1wmyc5ryLOqTiTAyoT4rtV1Aa5KLOJR4YyXrn+LgzbyBajoUXGnQoi38k2YY6Z+mFk2J+Kfo/Vgb5jVqwfZ6ThgT/JpmO909hg8GWPCxFgZwFe5DhpAh2Skkhx9I0EtgVlAkEvOL3SHaRA==; 5:pYrqogjFv1KR9Q7xaUqVy1zqr3z+AKwEwLhwFBNN2zfgWFDdlzq5gFURP5uzU5w+lf+3jabywByN9pW7PjkGo29qfrFLMyaurbErbtbzAV00o5Qfkdg6WEmwMtr9QaCnGLF/dAAzaEdtY3aBdWme+g==; 24:DpN+Zg1kzIOcfRdbmRd3FgLZltH9gGT1NwWcmltoKr7Ta4K+95fuU/eyyE72g37oHJp2PdgaK77bsSezteD0R0Ap2ptl/vggcCpZY5Rg96I= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR07MB419; 7:BtAIMQS4bjMK+HiVRPsuLiSLSLxxZLkz1F3Ts1HLHg9trwzF3fnk6NjmMd94CKF102tqXLC+xkjcRlIxKAIPhbj2di16LPv1TxlTiwhabq9bCOG3CXTMi9Z7b98ZuzFK8P64oOZaABT1bd/FB/yuBKk9NiiuW7c67qpIge1vxaOU974CEdMLRPuQ6wo10uBSqmT2mpDj3PM9GBnc1zXfTF3bN8i8Y2XZfjUbBBponfcaMejNG3heBab+VMWCNFNHxZVwOP9QoS79iMHpWT5D/WWfb+MK1863XQcqnz6e+xXu7QlXT4zIPGAnxef1z6x7W/p4pECCywQ8k1s6QO2IHQ== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2017 21:53:59.6084 (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: BLUPR07MB419 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Sawan Chandak when driver is loaded with Multi Queue enabled, it was noticed that there was one less queue pair created. Following message would indicate this "No resources to create additional q pair." The result of one less queue pair means that system can crash, if the block mq layer thinks there is an extra hardware queue available, and the driver will use a NULL ptr qpair in that instance. Following stack trace is seen in one of the crash irq_create_affinity_masks+0x98/0x530 irq_create_affinity_masks+0x98/0x530 __pci_enable_msix+0x321/0x4e0 mutex_lock+0x12/0x40 pci_alloc_irq_vectors_affinity+0xb5/0x140 qla24xx_enable_msix+0x79/0x530 [qla2xxx] qla2x00_request_irqs+0x61/0x2d0 [qla2xxx] qla2x00_probe_one+0xc73/0x2390 [qla2xxx] ida_simple_get+0x98/0x100 kernfs_next_descendant_post+0x40/0x50 local_pci_probe+0x45/0xa0 pci_device_probe+0xfc/0x140 driver_probe_device+0x2c5/0x470 __driver_attach+0xdd/0xe0 driver_probe_device+0x470/0x470 bus_for_each_dev+0x6c/0xc0 driver_attach+0x1e/0x20 bus_add_driver+0x45/0x270 driver_register+0x60/0xe0 __pci_register_driver+0x4c/0x50 qla2x00_module_init+0x1ce/0x21e [qla2xxx] Cc: #4.10 Signed-off-by: Sawan Chandak Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_def.h | 1 + drivers/scsi/qla2xxx/qla_init.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index ae119018dfaa..eddbc1218a39 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -3425,6 +3425,7 @@ struct qla_hw_data { uint8_t max_req_queues; uint8_t max_rsp_queues; uint8_t max_qpairs; + uint8_t num_qpairs; struct qla_qpair *base_qpair; struct qla_npiv_entry *npiv_info; uint16_t nvram_npiv_size; diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index a017a1af1707..f6130e8b1ca1 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -7546,12 +7546,13 @@ struct qla_qpair *qla2xxx_create_qpair(struct scsi_qla_host *vha, int qos, int v /* Assign available que pair id */ mutex_lock(&ha->mq_lock); qpair_id = find_first_zero_bit(ha->qpair_qid_map, ha->max_qpairs); - if (qpair_id >= ha->max_qpairs) { + if (ha->num_qpairs >= ha->max_qpairs) { mutex_unlock(&ha->mq_lock); ql_log(ql_log_warn, vha, 0x0183, "No resources to create additional q pair.\n"); goto fail_qid_map; } + ha->num_qpairs++; set_bit(qpair_id, ha->qpair_qid_map); ha->queue_pair_map[qpair_id] = qpair; qpair->id = qpair_id; @@ -7638,6 +7639,7 @@ struct qla_qpair *qla2xxx_create_qpair(struct scsi_qla_host *vha, int qos, int v fail_msix: ha->queue_pair_map[qpair_id] = NULL; clear_bit(qpair_id, ha->qpair_qid_map); + ha->num_qpairs--; mutex_unlock(&ha->mq_lock); fail_qid_map: kfree(qpair); @@ -7663,6 +7665,7 @@ int qla2xxx_delete_qpair(struct scsi_qla_host *vha, struct qla_qpair *qpair) mutex_lock(&ha->mq_lock); ha->queue_pair_map[qpair->id] = NULL; clear_bit(qpair->id, ha->qpair_qid_map); + ha->num_qpairs--; list_del(&qpair->qp_list_elem); if (list_empty(&vha->qp_list)) vha->flags.qpairs_available = 0;