From patchwork Fri May 19 21:53:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9738243 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 CAD056020B for ; Fri, 19 May 2017 21:54:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B7E1A28562 for ; Fri, 19 May 2017 21:54:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id ACC3628573; Fri, 19 May 2017 21:54:04 +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 2A5CA28562 for ; Fri, 19 May 2017 21:54:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756793AbdESVyD (ORCPT ); Fri, 19 May 2017 17:54:03 -0400 Received: from mail-by2nam03on0060.outbound.protection.outlook.com ([104.47.42.60]:60336 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756703AbdESVyB (ORCPT ); Fri, 19 May 2017 17:54:01 -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=uXqmr3qysn7F2kZs6W8RhN3wA8D4E3ohqAnzA/KUwS4=; b=dn1jvhbB36ymorSgiVWt5vvUndRymzvNYDBn6zGBTkspBAMxZCbAVp80PZBfAvfA018Vx6NSA0efWof5qp/kkzCwpupjJ4OYKQxeEtxTAJL78RvGnHFXcS9pFECG4qmSCWfq+PXNy62Vzf3QTsnx1aq/BtEVl9Ajgic9w6BUH+4= Received: from SN1PR07CA0031.namprd07.prod.outlook.com (10.162.170.169) by CY1PR0701MB1581.namprd07.prod.outlook.com (10.163.20.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14; Fri, 19 May 2017 21:53:58 +0000 Received: from BY2FFO11FD023.protection.gbl (2a01:111:f400:7c0c::169) by SN1PR07CA0031.outlook.office365.com (2a01:111:e400:3000::41) 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:53:58 +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:58 +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 v4JLrj9O002219; 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 v4JLrjRN002218; Fri, 19 May 2017 14:53:45 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH 04/25] qla2xxx: Replace usage of spin_lock with spin_lock_irqsave Date: Fri, 19 May 2017 14:53:23 -0700 Message-ID: <20170519215344.2168-5-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)(39410400002)(39400400002)(39450400003)(39840400002)(39850400002)(2980300002)(428002)(199003)(189002)(9170700003)(356003)(101416001)(48376002)(42186005)(5660300001)(305945005)(50986999)(478600001)(8676002)(76176999)(105586002)(33646002)(2906002)(106466001)(1076002)(81166006)(47776003)(86362001)(8936002)(87636003)(50466002)(5003940100001)(38730400002)(50226002)(2950100002)(72206003)(6666003)(4326008)(36756003)(189998001)(54906002)(80596001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1581; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD023; 1:dCEUB2gdNR/bASM8ZHkAIVl8oQCFU8iLbZTthDzqNIPT32eFuIkYJteyUTCf8bYXJm6VNUhjYJN/MF1hpAjDs12C7rZLZ30om1I9LAiJAUDInV1qzOEigb16zxt1RE6GMcJ2xriy6E5boa3s6UYeBSZydYLYQv0GpIEH90eeH7e2Yv/r5lPhjtZ0Ezc0YNhAVbM85o7c1yBWQ0QwSDWePayeH12LU0ifqgZB6iMlpnDfnA5OHf9xr5RW8SYUPX706CWP/m1aTGevAI0TJ1p/5DTB4KnyHyJnhVUyLs7StVey4Z8xsGvwFQiMXpdqFacckWZ3pIb7ZCuwxWTABkZHaRq2kXRunUZWOAz/y9d995BKtuVJEJzxjM9H8xVKvS7UY4eH4CeVzZ1TIKfknnjatx/nwChppY+mixz+KVQaatOeVyLdzeb8Vx9dUxnSfi+MOcVPjBj5CGcYs9HSCXT34WjCbz3Rf87QVuvEhHNH5XMWzeDdVqJJMM8TyFL8AaDBdJKo6DvbzpE99q9FdG1VfSSU+l/BSN2DtLcwSdWfBFoRvcRf8NGhQory+Lb98rB2x6McCrp7C14d0pYSXp9Y8Q== X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY1PR0701MB1581: X-MS-Office365-Filtering-Correlation-Id: ffe74440-40f4-4a41-a5e7-08d49f018d8a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:CY1PR0701MB1581; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1581; 3:tcuOD3tvHLq49GkBceepPjB4xmNO13Vsq6iHZkjP3IlZjQVCxnbOwUczUNmDBBIkXgtUN/EU4vxD0nMkC7Hur+qtrEYBC7h30FXbAkqZldhbWGGC7Q9Nre907v2PUbByUb7MFWnvI8Xr6JOn12Lz86e62kCtYs4MiuelRUanWANepLX9h4Hy1bOjh3AiEqyFcaQ+wszONcO5W7WJZLEFMe94fftiNNcrKVXqj9uYAe766tI2Bq1P2DW1CQFxaeV1kFGvofSYGFoMsD5EcysQVwVax1ZGmUSSzi9A1llMY3oGymGQTqZLhk0GuECipdBrM/qNpnxvvQi5UBMq0OBYGKKRRKVioydeDXoqIZL3bqgmLcFM4vcuFkIKasumsszs8UMOGOSkEckRVoOpseMCaobKtWpenopp9TR7nHM7itvo5AGnWtQxEU8knaspY6G8uxXehKqkTUFJhBeEWaAjzm2SXlg91y40UOlleJfPDsgn1Lc9vX/GbUNRI9okkjM/ X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1581; 25:vi4zZtTQfQXDrFSsC77NQZu+28tk02BqGCWPcTu6QeJSsrXBfJuZziR1mdxM4zSlooqLgJOGhs3nArocOpUwanWhqADAMFA1TcgmhY7r+cyY8CFasIqrP4qHMq516iC8dRir+OBjWRHaPYFrBbYrPvVKRb1UU+dRcTJqjeYSe+q2RkoIfmfUX/Vb2RNrGCUl18aCEsbPcJbxZq53yk6zVDNva6Zy7dDUIi+LlATXP+6lNci0UF8zwslcor00m89rjpMYm/MdP7a3DHPcZ/F9ZPGWDorwha4Kk/lXoGbCVlc4pPfNAPF5TC0brL7q7T3BnH4pSxUqD8tTeInEGeRnl1FUXxAF+1SEN+q87/UO82p72wgKj83zjuN1jC2a+aKuT6oxADLw5oSa5IL+6vkuMD0ak1+LSh44+EFdfPrxChflopBXwq+V1DWz92Om80B6d30v02TQhUK+qkGm70MJiqZp6WsTU41iFjdKPWEREzk=; 31:YqC3NIUWFzKJUtIUtRhaFQKQHgiXs3ixuwcuYTFBBUhTBHMCFv3xssE7v2bkUG5b7qSlNSsacskoUjiMwRxEi3TgNCg1jvz6vHivnPUu6pGrWuyWwx97wwVWVzFPnlmm9owmL1jZ+mvnngH4tJDtwBAlAa/KfvESwHwOD+1SzhJRmME/gEy2kbfYQEM10ZjbodAyH4Puo+8NERVu103z+bBDSZkodBDkPmNgu9vbI54q7ZBAzdP+iYTUw+eG4qu5+lPfgLqpilJXI560188tig== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1581; 20:pg7OupOxw7qX7IiJfoGFe1ZXAXlRGpaK0nL4tSqqGciQpMrP3v+ouQDkzcVVsnRozG+t2yroNnuXcuJpvTyTepzmSk/UnroOo7KsAB2jsnbWM6fs3Yr5u+gL7TLxN3DfOF9Y4yE5Y01wVbdHp14i0B/DjxWK+KN+4YyTwvPUn8O90zgWOe85znYyROzcsj0YEjNRvenBiDSK17YEA9IzBmM/ECLi0CQgq7cofHSOn1u3bnv71QxmBbgISyMSJgmAJitmIt9wNg0ePtUwUcn/Dse2KqzJb9817KYjQVHTa6JRSSszxx4w0Ncv5CxxrldaPXBWhFG40P7Ut5XGJV0eYK6akp1u7noeSyKmCl74uY/laFpEe3cmBJX2uegbM1aajzf1dBHlaN+B0dAxTyH5Vg+FJIPXbWuQchvqDHKVxnimIgmYJsCKLitI32dSwEljijjGlEScd/EZkx4gN2z382aHF4WT8bXdJRCOCn6vTu81K+NSDSy1jVtvBDNedwrA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13017025)(13015025)(5005006)(13023025)(13024025)(13018025)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123564025)(20161123555025)(20161123562025)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148); SRVR:CY1PR0701MB1581; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1581; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1581; 4:nUbkd9AspEM+Mzd+MHg3iqr8czGT/cev4St8QZ21gP0PnM3QpK1jA3K6Uv98nLKUXsrtByvzG1IPtrBHzmJEZZZ0BYRFqrM2XE0IWfnqBgnCU8QrokCO9z8UmY10FLV4nEEPZYLco/9cYeKeDtsQzUIpGVEgivhko0gbV+Uajw/8N4ftzpNQKI4/O/kSeDpOiBqNlq73DudvYVxYPLhf+b9mPTGb1zRAZaGYPJWK9OxIYxrH44oLTC0oysYpxEkSYL4fgE9wDz5DkVasyq4S14T2czwQVgRs9/ITCfx78Ki0Gt3XUwJ8BTDwDuPdqlfawjHuHmQynC4EqHdHsDRLupkFsRnvZKd+oVgipoo7BtcYbk6kHho8kMv36FkCnYEZ8ONITmCwkShdW+M8HYnmlG4kSoP9Sgx4xezd+hKcqsMLZdHaofTd6J92wG4cKfo2cvqyA2F5hTk1H1/95gF1S34eotIWOCV7HMSXq+HNaj1XPvqsBrJ9860pYcrmMTa2YM1AqMUlP/jtxiIqqRipc81Bw4d6EgabUJvcGd/5L0WR8dIC6tzoTIQrZG3GMI+YK5tNI+LoaPyDhwa4yeZ3lMNEkzPN6pPobig8WM+zazHBbBjsoafN6yeITU1gi06NbDrV4oe345gjKyUHptBGmSAwu1agvM71lelmk1JRi704P8c3TWVVa82rgqfXbX+1sb2hKmPbR6T8KOsBJMbyC1d0s/gyrpiJn8KegXuypQp+5rPdWoQccUJKHpF11Qm7vzdiNq8u5Uh8kHOtafL9X5nX1D0zhZW8edYfI3hsOe32t8Sg3nayRciqF8ozS1L3fPioAjNQAeXk+E7JCR6A00BKvPYy9nnI5aeUoEXS+bv/+45oaehMG+0XregSfJFqj2xmJJ3bbHTLidZXZI0M0SA5jbPP9NcyHmAsta12 T7HAfE3sl2jhQEKUrMw+e7hv X-Forefront-PRVS: 031257FE13 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0701MB1581; 23:qt8Cis73GkZKEB10KSztEyU9ZCbibkNecbZFD0K?= =?us-ascii?Q?DD2VqlRpQfRYzGYaJO2S9KRY07sc5eiXqaenjc8uIl/b16NvuX5Sz+mtGNJ3?= =?us-ascii?Q?+AJgv1xLUSmROwtgRWf9kCFF6O41OysJT4Rwrk66Iz4KFyI0fOzY+ZlsTf2R?= =?us-ascii?Q?b6ELA/+ewUWgJySeCK6HThgZ3sjg6k7dQ6XMPPNHBDc6+gWlty5RCmij7osx?= =?us-ascii?Q?4/StPMs6YY0akvt7y3VL6WLTU59seIuVLAt6zSJ2MgsecrufFq0QCP36S9Ng?= =?us-ascii?Q?Ai5p/CPiMofWzYS00FXdWtUDJZjUgHLlgWeo+vUrrQiqV2rU0mI/57VfVCgS?= =?us-ascii?Q?tezs7xvOI9dgqm7RIEeGN4acDo0MGUHaZ/UPvf0Nf7076MOKXEcjTmXtaiIF?= =?us-ascii?Q?nFNZr2pt3zPabe3v9AudVyv2udXMIGv1ZK5f7/ozw0wtYKX65ERTl/v7HUsi?= =?us-ascii?Q?Eeep3QCjfbTPfJXLgEnu/d6+84vap0aDw2wGtfOnovBedn42ixZiWB8JTHRs?= =?us-ascii?Q?53AjmTNRq5vPA7tAbdKBO3u9wU1n5+CPsD9A4n/jVuo42FMGSAUf0M8aG0Mv?= =?us-ascii?Q?w3FQe+P7GSKQkyITFcPifH9hsUd12GqMfQtSFqSZSCmvvcuz0VshRA29L5ta?= =?us-ascii?Q?e7dvlh+UF7wniHa9EVrAszcFl4W9CWI39np6DDJEJC1UIFyJh8ynIJ+/xu79?= =?us-ascii?Q?wWOM7v1EOqpqFUwp7S+ZLhswSkE4juK9U4PnCShiXnikHmalsD1akzFCghTK?= =?us-ascii?Q?DlV72CNEI6CNyeIk3p/OEKaMYtj54nwXuvCcAuJcT3Hwh6DSIIXR/bcYnWaC?= =?us-ascii?Q?x8bltqvUmWyDf2AoPOqrxScM4+Db5TIpzBZLQ3pUNz2t/W8NwAWWMpWu2nYM?= =?us-ascii?Q?V/L0webK4RQxG/VDB1/rxBiSojmeJ0tHdJ2f1KWEIAXtYxh3q4Isp8hUTW2y?= =?us-ascii?Q?wY6RFNj2/YQJNGXKC9fV1Ip9jkdWy58VlYfwQAgapxX3zI9eJLTuEHh0qXTt?= =?us-ascii?Q?YGawCg+b9RCLWJbGsmElRD1dbLqGWOQfCxy1Wfbi7PFS9XQqgceDF+/stbwP?= =?us-ascii?Q?MUDAAnFivuHQspsnfGqmQ7EA3g6yU?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1581; 6:EK5Uks6aNffwHVjwuMU8O1lpxse+S5vP/ZxRjiojq1CIE1iciI+rZ8hWgIlY7crQ8Zn8+T1rZuE21A2sOWSr0tjNCd6X42O7ROVfBkEWMsi/iv/W8dQYS79S3ieklcuiNPjbaJwcPMagwFQuakKj12ie87wzcB8SYsJPeyhHwfcTxLRsTd73K6iWEc4dslm5xAItA8b3b/MyfJD4UwqO8ytPOKo40E0xk8Pd0SQVvW5kd4lepGLazRoTuqBA7uL86ifKFdgtwv6+yLN/cVqhs7ZqR+5fNNSyKtpgw0udVzqUoYrTQY8IlwaHZXHSoVEgf+GVaKX3jB2WTlcZsww76km7i8XFJRim3lndHUxBnipdoqYSikf8HvfWfTri3eLK2QWR+E58XOk+bzJcUAFB2IcAQEn1mOz31jHwK8SU20eZ4kRa1Sdw6L9WgX5SSOrhNY8CjhIjK/dm8lKJUJ74XqsD8CCl4iax22oPWx94ScALlQKXwUoNplvrI30gmilIQ63nb0OD0j8rGGXwE408kQ==; 5:Iu3d41J3+3KycBNA2b78HhK205j5bNNTyWHFjIEotKy7Y2x+bs4Y7OsyWqF03VvhWwR0DSe6Dc4sAAejn33m9NVsOsFNwvArb08O8UU+JWG69RGWwF8ZwbF+8wnwwb9Gowlpoo/ngzLfRLl1RHaV7g==; 24:mQpX/Ho63RZakzMiFvpNfpz33V2OH6mP/NiJL3jhrdUmw9Rv3H51Bdjlj4II9egyHRaOrEEeDJhCo0CSNYcovZZLfpnEi+m0PmxxSL8dlMo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1581; 7:eRQ6glFFuk1W78/vEGKU4kNj+S+3kid252ACct4YDa5nQo6JAxhek4UBPR8Xi70hYBjGAxuzzdfn0WP+RDisjZZpKjc0dkTAQHf6B/Q8kB6wZVPLQ+m9c71KUTTVu7qq5aORxwI8NmoXctiwx93AHmQHpA0ONn1x7I4RHFpI+DSrAhhAutqbAq77LfrK0UIErfqOfwwMY3de6dZdy96twAdeg+zGvF8zQANCQmrQtRna88yPoXHVug3Q47mvZdTQm6o1SzNkDpa+VrKEQJzv71qbEidIv6r0xeFSmpilvs/cqX3Dxg7si/YSHMS41sbbluQPXuKqhjKd4CgGafAT0A== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2017 21:53:58.2512 (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: CY1PR0701MB1581 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: Quinn Tran qla2xxx driver lives in interrupt context. Remove spin_lock usage to prevent leaving CPU in a strange state. Cc: Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_target.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index 0e03ca2ab3e5..4c64f8e3f9b6 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -1762,13 +1762,13 @@ static int abort_cmd_for_tag(struct scsi_qla_host *vha, uint32_t tag) { struct qla_tgt_sess_op *op; struct qla_tgt_cmd *cmd; + unsigned long flags; - spin_lock(&vha->cmd_list_lock); - + spin_lock_irqsave(&vha->cmd_list_lock, flags); list_for_each_entry(op, &vha->qla_sess_op_cmd_list, cmd_list) { if (tag == op->atio.u.isp24.exchange_addr) { op->aborted = true; - spin_unlock(&vha->cmd_list_lock); + spin_unlock_irqrestore(&vha->cmd_list_lock, flags); return 1; } } @@ -1776,7 +1776,7 @@ static int abort_cmd_for_tag(struct scsi_qla_host *vha, uint32_t tag) list_for_each_entry(op, &vha->unknown_atio_list, cmd_list) { if (tag == op->atio.u.isp24.exchange_addr) { op->aborted = true; - spin_unlock(&vha->cmd_list_lock); + spin_unlock_irqrestore(&vha->cmd_list_lock, flags); return 1; } } @@ -1784,12 +1784,12 @@ static int abort_cmd_for_tag(struct scsi_qla_host *vha, uint32_t tag) list_for_each_entry(cmd, &vha->qla_cmd_list, cmd_list) { if (tag == cmd->atio.u.isp24.exchange_addr) { cmd->aborted = 1; - spin_unlock(&vha->cmd_list_lock); + spin_unlock_irqrestore(&vha->cmd_list_lock, flags); return 1; } } + spin_unlock_irqrestore(&vha->cmd_list_lock, flags); - spin_unlock(&vha->cmd_list_lock); return 0; } @@ -1804,9 +1804,10 @@ static void abort_cmds_for_lun(struct scsi_qla_host *vha, struct qla_tgt_sess_op *op; struct qla_tgt_cmd *cmd; uint32_t key; + unsigned long flags; key = sid_to_key(s_id); - spin_lock(&vha->cmd_list_lock); + spin_lock_irqsave(&vha->cmd_list_lock, flags); list_for_each_entry(op, &vha->qla_sess_op_cmd_list, cmd_list) { uint32_t op_key; uint32_t op_lun; @@ -1839,7 +1840,7 @@ static void abort_cmds_for_lun(struct scsi_qla_host *vha, if (cmd_key == key && cmd_lun == lun) cmd->aborted = 1; } - spin_unlock(&vha->cmd_list_lock); + spin_unlock_irqrestore(&vha->cmd_list_lock, flags); } /* ha->hardware_lock supposed to be held on entry */ @@ -4214,9 +4215,9 @@ static int qlt_handle_cmd_for_atio(struct scsi_qla_host *vha, memcpy(&op->atio, atio, sizeof(*atio)); op->vha = vha; - spin_lock(&vha->cmd_list_lock); + spin_lock_irqsave(&vha->cmd_list_lock, flags); list_add_tail(&op->cmd_list, &vha->qla_sess_op_cmd_list); - spin_unlock(&vha->cmd_list_lock); + spin_unlock_irqrestore(&vha->cmd_list_lock, flags); INIT_WORK(&op->work, qlt_create_sess_from_atio); queue_work(qla_tgt_wq, &op->work); @@ -4527,12 +4528,13 @@ static int abort_cmds_for_s_id(struct scsi_qla_host *vha, port_id_t *s_id) struct qla_tgt_cmd *cmd; uint32_t key; int count = 0; + unsigned long flags; key = (((u32)s_id->b.domain << 16) | ((u32)s_id->b.area << 8) | ((u32)s_id->b.al_pa)); - spin_lock(&vha->cmd_list_lock); + spin_lock_irqsave(&vha->cmd_list_lock, flags); list_for_each_entry(op, &vha->qla_sess_op_cmd_list, cmd_list) { uint32_t op_key = sid_to_key(op->atio.u.isp24.fcp_hdr.s_id); @@ -4557,7 +4559,7 @@ static int abort_cmds_for_s_id(struct scsi_qla_host *vha, port_id_t *s_id) count++; } } - spin_unlock(&vha->cmd_list_lock); + spin_unlock_irqrestore(&vha->cmd_list_lock, flags); return count; }