From patchwork Tue May 30 17:54:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9754963 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 26037602BF for ; Tue, 30 May 2017 17:54:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 12C7325D9E for ; Tue, 30 May 2017 17:54:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 078A8265B9; Tue, 30 May 2017 17:54:58 +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 7E45B25D9E for ; Tue, 30 May 2017 17:54:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750974AbdE3Ry4 (ORCPT ); Tue, 30 May 2017 13:54:56 -0400 Received: from mail-bl2nam02on0080.outbound.protection.outlook.com ([104.47.38.80]:60355 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750913AbdE3Ryx (ORCPT ); Tue, 30 May 2017 13:54:53 -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=2dcGoL8kCaquUyTJ3xR1XrMBQyZQoE3hVtMLErAn8Ec=; b=KMYhPcnMn4CXECZD30AeH/mNP2JqKYFn8E8WGABXNV16udxQqa2/BoXnOJVmytRvz/EUZ4bppj1+n7y7tsspzg6+wIuyYTJrcpdJs6kkc/cMYqF8ovd3Vi+0nuM1mfMVjRLWPWpfhjObwBHVnkVMT56bdf4Tl8B+HSoTvwuEImU= Received: from BN6PR07CA0046.namprd07.prod.outlook.com (2603:10b6:404:a3::32) by DM2PR07MB431.namprd07.prod.outlook.com (2a01:111:e400:243a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.9; Tue, 30 May 2017 17:54:51 +0000 Received: from BN1AFFO11OLC004.protection.gbl (2a01:111:f400:7c10::143) by BN6PR07CA0046.outlook.office365.com (2603:10b6:404:a3::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.9 via Frontend Transport; Tue, 30 May 2017 17:54:51 +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 BN1AFFO11OLC004.mail.protection.outlook.com (10.58.53.75) 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; Tue, 30 May 2017 17:54:50 +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; Tue, 30 May 2017 10:54:47 -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 v4UHsXj7027027; Tue, 30 May 2017 10:54:33 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v4UHsXfC027026; Tue, 30 May 2017 10:54:33 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH v2 02/17] qla2xxx: Replace usage of spin_lock with spin_lock_irqsave Date: Tue, 30 May 2017 10:54:17 -0700 Message-ID: <20170530175432.26984-3-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170530175432.26984-1-himanshu.madhani@cavium.com> References: <20170530175432.26984-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)(39840400002)(39450400003)(39410400002)(39400400002)(39850400002)(2980300002)(428002)(189002)(199003)(9170700003)(2906002)(106466001)(48376002)(47776003)(1076002)(305945005)(38730400002)(5003940100001)(54906002)(72206003)(356003)(33646002)(101416001)(105586002)(478600001)(50226002)(8936002)(5660300001)(6666003)(50986999)(76176999)(2950100002)(86362001)(42186005)(8676002)(189998001)(36756003)(81166006)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR07MB431; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11OLC004; 1:OL1CXUJFT+nW2COqgm58ECzu8i1ub8Kd94+u8z4z24ABWmIGF5/PGfEBPvJrHe1HsxQ0Y5nv7QB3QA0TMQ7qcrKqagbtzIjCGTCPULk8yoBmiDOWjTIiEC6AmUGeV2sUoM+PD1hU8lxEpC/ZTAI1lmD1nEQSsAwHoIq1b9Vhr/1nzgofa8aX/njWmD3F+qfM76ZUN7P8/dZMUMjrmC/YNKIW4Q0sksJf6kFyRqRPtDtTuQpW76PM35zf28D8P47whbB9SrTv2faZlhMkgXKB1zG4xQlC13FTJncb13TaKpkQMm4WhN3I1l2vrevWVOlPq0wUqfQsKRnQpOiM67oNyLHZEGXS3paf7xg/3UJ+bDGaMS8C62QiPagHMsst5uG7EYe1Z7lRsOdaJRAzRV0RMmtY7ZYK/a3BsXGTHSG58UuD8l0CFV9Fb6zb95yU0ZCKIJGdz7lS7SVyrF/UINYHMc6Krb3ymvpTnLwVsy/s+CvuBlZqZu8efEnT5VcE2D7c X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM2PR07MB431: X-MS-Office365-Filtering-Correlation-Id: 07b3869e-5f47-42d9-b163-08d4a784f877 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:DM2PR07MB431; X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB431; 3:HkvhC7rXaYDOptGumZaKcyjjVFTfSxvlaJfhYR2Y3rySBSgjIaknvahjHY1lubbpcLWWNLGim00p7KRMmpIiSU1H0Fj1Bkfiw0569EElQyVoVahO1prUXG/NgLLIoT4uT6a+X51gb7wT5dEU355ICLgXdj9NWyqRn5JUK+ii8ppxEje6BSUhc1u6bB9YmILSpFId+u39qYAxRlOS7DMpMv0sBIlvK62jyOKuUy93hiTjYdx0yL8onPm8foKNqLZ33VyP+d/FFYyae7VxoWyLp2CNI9tu9UM3QZj5GW7VgTqMhGJHRkNyVs/csYsrisWYC2A3AfwVTY0d2cTkuGOpkyqXwJDYCfxM4QAlufDfhZions+7fmyL2IqHICGCrBJPepH/GOm4FagDXvpXwyMsXXszmRnmXblIRnyZvjD0xWVwpSQL2NyaVWEP0XNJw+DKAReS1ZPR97xRaCvLgbf3pw== X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB431; 25:w00mQz88jPaHCkty6grP5gyH7YW/gt7docfcS3zbTYILIczkiW+O0Cfx6vUoBZwAzno1L0CtR10uxXkzvFdQiLe1rvUMW4IdA7sgF2q29ctv6k7hGGfLrVXaRzsFxbCNh1uVqk15cs2V73DSxsK1ImanW5v+Tf/QFjpP66Z/3U5Km2yrHHCVSA03+pTsRRYRyr+R3JOdePWhpNVEz9zx0begG99d3pE7uB41/JpKTxsjmRlnvtVQy2nDemu0GlfumiuIpJwJnzxXqf8T+lrWrRVV0Ha2WPRWG0B7BHYOBwC20pbl7GUIvzj4ewzMBNO99cj+cf/mFpnsM/Qv8Dv0M737Gm/sy0Ro2bIIcSraQH4feutKqE0jMxB9J7vb0+Cc2xPpDnPzyg1As5VaThLn5L96jbOKGoTMOAa5MylAtuuIudakENxzixV7pR14m5Ica9cEdl9C9saxqb+pLsW/9ySGcO1pGk5i5CV0AX90iUI=; 31:bjAneNNJfmU2bRNP7ZxVlxm6NpoWppmQK6V7OjoZui4smIbd5o4vkTKHXOm8UI4r0BwCqjYIjYE7QN8wTr3lEFED5KKP1WM2FhEX5cWF770D/2OzF8TwFBwrcwKV0SjN09vYt7O0pwMIbKVX2irRSEirkJoE8ntwazqpHBKT05zEKcUAF+Kl9RdHkh4XbzasASOuLtDIwK1OOs0OtQdi5Feg0JBvVKrhFWqJ7Cbg9k+AeCenRAR26uACeFKw3LFfHn1UcwY/GVVQiE8d2OI14A== X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB431; 20:8Sfesy/eZ0Heppv9qJ0oN7phBRcBBkcIglW7RWiu6smpTvQm3oJW+GrjvppCcClDHII3/8VGk3BOqW7UZGXskHW4Qb++gdZ3iKftXeYMdR8yHA99Tq5y+Y3qquRUZbFgAfvoZ8c6KLfivde5XqOcd6EbapUSOR0DtTjG7Zq0S/Xl7MuVo3q2SZAMl6WvU6/1nZ/4jnJuqqdAwYalZB5VYOCXw9pl2LWGweEc5z+kIZp2NdyUZZXorDxsrrqZkwiqKNSlfeE8hPxTTQcpNMVaEl7QPx/rNvBxilNv2lcf1vac12TaM8uE+ffQ7I26VOQTMV4D5OyUkzp1UuM+Gt/hnKRLCQa+8SDAt3tKLGIdYwL968kwvIRR0snD3fqubbmmnr6r0HOf5vQ61EXbAP3+GXilZqvAxRDsESxozUx98JTyHL6+xYUSFW5BU+uDxEsP5FeLBmPeXSNa5LC1Y+ActmHx2OOf2zWBPJEtXiFt5MVg4vKgknTmt9SXdm8IxqDr X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13016025)(5005006)(8121501046)(13018025)(3002001)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123558100)(20161123560025)(6072148); SRVR:DM2PR07MB431; BCL:0; PCL:0; RULEID:; SRVR:DM2PR07MB431; X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB431; 4:C3UiZlWse74f2erzjrMB6eOa2NDAefFs3ZA7myYn3ZTadStFbfFA8q5wAYyoP/JvCUc9DmuRCKQujK+YyxgD7M5ed3UxIrpABRBKbEOny83dvgVN3763p0WAgDPkh19y9MbdBJ5MnWw0znsx/19i0h08i/EFBbM4MB7q00Md8E2U9L1hUhjyowpkjq9NHD5VQ3a7pRGxPFxMmZVgB2NY9i+Wr3HMsHg8+gGKsVMqYvWEiAGCZgBmKonBI6fI/VRFmp9n4Ss0ZFfIzeU88KXJ9GFAjk2pjSDpjpRrOlczEoacbSapGpNDg+DVDS2hkCC2KCsJRHDC71E+gkTkp3H1TdZqTxqcr4HXr2kVJPIG/9DVBqvYxYru5ncRtagxLAMfQAM+1epojkScsNFePM+j7RWDYdhoAkS9qYKYmSmdnShHO9ofaVScfTsP7rBoCcLSDbmYi+HlH6KmBrZUtVQ002Y0wp9Kz0NLSidMWgqCIoXPmw12CpCSR9F9s8zpPaw3UzAzeF68WsQaAwgYhS+KgEb52DRDpugRBvYhlSYMiDqGUCz9K4veT4nhWrYXC7PcKXO0VpRXHh0VXyck3UlZSSt5X3zxzYXDqYniaM1yagVtdrLQzogdlwB79j63vOscLNSnPORw/jIbswvNWAnKXec3NZOjE7z7ebLw5LzfQK4+J5+QApvgnPltLcP8yzLDk8/vXQMwNKWaCsdQP1jbRFS74ha9ejeoHX9e9Q0TWrV2Jr559wQq9w+4GKHZwglQBKxhn2+FL/qRrcFVHsYdj2ijZFX4Z8ndcapa1Dtbyu8LRPm3NGKf41pfjUnvQPzE2MG5FaX5eDobepnHtfROXJJJW9GvPd3eOaFV3visPaE= X-Forefront-PRVS: 032334F434 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR07MB431; 23:OwPXQDBuNv0QYz0Ye59AtlWtW/CpGPmoy/jTZ3UUiy?= =?us-ascii?Q?i78JRZkBw7jhQ1MIJ22pBN8CTf95BRmdF0Ti8NfqHLdYfxFDRCiOIUvP7mHw?= =?us-ascii?Q?JEQwhaxjZhmLd1I+g+rvRuZ+ThoWeePhlol8T0NsLcNIHKaEQXBChDFt1u1E?= =?us-ascii?Q?zSOpfMuXP3dVDrPHife0ObVwbpWyO3l5PBRQ5FEZuajPtO3aakM8W8bPff7d?= =?us-ascii?Q?XHT01K5TOmia52Cs8atHkqK5MgQvoAoFR4pP45f/yT8n5UrJIMgoQFPKaoo/?= =?us-ascii?Q?o2dtvTVyYHdQQ8aOkWIWjHm0cXluE9x8jwy1uTVjqSwFA6SN4BzUAM1kPMO2?= =?us-ascii?Q?Shf3FP8A8Ec2Ek7Jh0EY69aoKieL9uiyCiZI9TXEa6Vy2YkUCNKVGR7vh/bL?= =?us-ascii?Q?6H1JKcmMP53mh96kA5OLghsGW0R+HzRg3Gf4fOnM+p1GaOepOevv+9tGfH5r?= =?us-ascii?Q?JKCmiYDgy+trBZJt3Rb8d55ehTSRfQKViHd489hhD8EW2x7UUENnA44mdWOC?= =?us-ascii?Q?+pIuhBhmzEI2Lj3GYdvcjvKmCpTwB18fAyFS9bHXv0Q/Skdtt5+4LI3syJQd?= =?us-ascii?Q?zrs+R0QKe87usT35w248wJAbqK94b9ZZz3MjeK8b8NF7tS1za1DpSXrgfpiX?= =?us-ascii?Q?n7T2VjXHnZRDCVJiQTpqMCGddpJimQRP2Wgpu+ve/Y8wsai+WB01R3MUxzqv?= =?us-ascii?Q?5qN7KstaxWiex4JOlILUZ7vjodfJT5DPI7oQODuGhFxcweIXkAADIz7Xj9xQ?= =?us-ascii?Q?5aLFdFu4cARy+0/vudUsaCT2KkiIKWpifj2XkZNJr04ebrwyWljUG74wY2l7?= =?us-ascii?Q?rqicNihXcMgEi2ZKk4TYMNNjVsze6bCdGxxI8XfGA9fxOdH4sqymDgcqFRXu?= =?us-ascii?Q?U3csgCF5ZeU6xX2pHEheGfdRZrOuysP9a/TAfwkYh1r29Ms2/JyUg3ghV8eP?= =?us-ascii?Q?wAj6wzJ7TUo4BglWvovzHQcl5Tv43GXXk89vK44pelF2gmnQ4J4myRJ4CemM?= =?us-ascii?Q?/HITR+YOVYVGVo5p1U1JV+?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB431; 6:H4FDtDgKDSwMtfHRmcFgo1nE6V1a9nz71oZN7ILMM5zKnJLN0QGmLMb3ptfWcyWkBdg9JN1Yr4Wk91a7yHbMV+agOH246pwxuWM50CbV5NqrXsSA9/nJZZKPIxW1Ol5H5qbrFxupG4JPB4/fPXCU3dqz8OyTlz+KK0bL1RbNODELJZUUm7Rafb8o+g4ndZ/cBBHf+PXPbQADWcoRvAn3Goz2HWGROTT/lErKnLLyU1lVdLHp+gSMGcx0SpDa/+QHjFnzDQwIS8GOCPJoISIX8ugUBHGk75pyboDLaBS2eMIsb7H541WlvI0cPJhXnBlnZO0BhJrqA/7+wKgdSANQSvkyiZSKhCyVjNzI3NVeyNuV8L4mKyzrtCO715khO0IG7+Tvg4xZOQ72XdeR98//qxm704x1PEJUJcpSoxXCIGgwuVp6ccOJVWfSghRg4DVzBGVdzKGDIyJPXPkl8M2mHZN0GYue/55T8dzsUdGMR/BgKNi/n9Br8GG8ykLML2oyhVzUCzVRjTxLoQMtGbRzZg==; 5:EnCoiw4JW5EpzJjk+MKuFZnhgib+DFdrFzMzrDfyD/mo6WTjudEfcKiNs1DeJCzkbajFLcKqngSKAnC/ukziS8QnxCw48BgVM61igU9L4HND4LETxkYb5SKReginLWr2dJG/30LqVU/wc45YUdY8sQ==; 24:kRUVBR0tE3vBzKmjfboxw2cDW0Ol51pAlastZvLMb55MoJuCS+o8dyRo7L3oB7yU3esJCUM0zgAoqnhqsO+2ddhwZ+rVAxDpYUii38PxuwM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR07MB431; 7:BO1rreGk9lXoXpYrErrCbVvSpw7EtULXo8JQCKIuGSivMutc6XnnTFFDYvyaRooPqQCedpOj6oPa7594p01Gw9d62mipJFlGL/Q3PflYPKWdRlr5otaKM11hEmFaWUFZ5vUNK/fTwkA2kTFg1BavsRAY0kC+KSx/2SbHHNCTP+VB/3XkP+LJ0jUtFeryKz/SwXZnZ0vviB8jchj8MJ4WKo8zSbsMJicTXpcCLjCocvaY+JusU6c2lbc4/Mz0CGWo0/VCFreprABeCztl0yz0eLwSjZMz524LdF8mbxbkEw+g8gm9Ou9L3ZuOVzCS1Xw3SNI0XbNMRdh4hpOlD81M1A== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2017 17:54:50.8766 (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: DM2PR07MB431 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 Convert usage of spin_lock to spin_lock_irqsave because qla2xxx driver accesses all the data structures in an interrupt context. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani Reviewed-by: Bart Van Assche --- 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 e766d8412384..a2e17a5794ab 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 */ @@ -4216,9 +4217,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); @@ -4529,12 +4530,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); @@ -4559,7 +4561,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; }