From patchwork Sun Dec 18 09:02:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9479233 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 A2CA960830 for ; Sun, 18 Dec 2016 09:03:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 902202845B for ; Sun, 18 Dec 2016 09:03:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 848EC2847D; Sun, 18 Dec 2016 09:03:38 +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 BFE8828461 for ; Sun, 18 Dec 2016 09:03:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757393AbcLRJDb (ORCPT ); Sun, 18 Dec 2016 04:03:31 -0500 Received: from mail-by2nam01on0050.outbound.protection.outlook.com ([104.47.34.50]:10219 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753594AbcLRJD1 (ORCPT ); Sun, 18 Dec 2016 04:03:27 -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=B2NzSF5piY+fJev+V1IKEHIVdMNU2xBNOGtmJCaTsfE=; b=JOiVnUesUenznMpQx1hDYa2yrkYm4EHzuRrc1nKkatFsdDwvSCyNREyzt5Xb4CXzoj5z0BPNhykJUjDKUDdTjRdyzvExCXrLDEsyTI95EKuDV94FAEXyLjDde4miyKWxoaIKnEe+vO62j4jZoD2tCbQgxRUwiSQnfoIJwd6Rbao= Received: from MWHPR07CA0033.namprd07.prod.outlook.com (10.169.230.19) by BY2PR0701MB2087.namprd07.prod.outlook.com (10.163.156.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.771.8; Sun, 18 Dec 2016 09:03:25 +0000 Received: from BN1BFFO11FD038.protection.gbl (2a01:111:f400:7c10::1:131) by MWHPR07CA0033.outlook.office365.com (2603:10b6:300:1c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.789.14 via Frontend Transport; Sun, 18 Dec 2016 09:03:25 +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 BN1BFFO11FD038.mail.protection.outlook.com (10.58.144.101) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.789.10 via Frontend Transport; Sun, 18 Dec 2016 09:03:24 +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; Sun, 18 Dec 2016 01:03:18 -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 uBI934nx022978; Sun, 18 Dec 2016 01:03:04 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id uBI934wJ022977; Sun, 18 Dec 2016 01:03:04 -0800 From: Himanshu Madhani To: , , , CC: , , Subject: [PATCH 2/9] qla2xxx: Cleanup TMF code translation from qla_target. Date: Sun, 18 Dec 2016 01:02:42 -0800 Message-ID: <1482051769-22941-3-git-send-email-himanshu.madhani@cavium.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1482051769-22941-1-git-send-email-himanshu.madhani@cavium.com> References: <1482051769-22941-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)(92566002)(2201001)(101416001)(626004)(50226002)(189998001)(8936002)(5660300001)(33646002)(575784001)(86362001)(305945005)(356003)(76176999)(50986999)(36756003)(4001430100002)(69596002)(80596001)(38730400001)(39060400001)(81166006)(50466002)(107886002)(8676002)(106466001)(4326007)(105586002)(81156014)(48376002)(42186005)(5003940100001)(6666003)(2950100002)(5001770100001)(47776003)(4720700003)(2906002)(87636001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0701MB2087; 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; BN1BFFO11FD038; 1:Fojji4HRMzrjmOz5kJz3tmO0Am8QDOYZ8T0WSIAAv6SEVwWbFQFRGbWmQOFuLBF626+zh4Z/vFNpgGIz0XnkxDVcx4HweIvpf48oTD7cExDitca5peRMa2kEue98nz80PemOuUd0/z+zpwDrvfHukGyPI5NFIzoECajfHoSyejbIdZYgselckKXc6AGdOtPxQc64DiLA6MqlBTVrJ0J1uJgctCtZAcyMIWdZImKweFO3wEyQfuXXeotZk3Kpb+gjZPbUcFG8HmfQSPjkG3lFGildP0RnuY9GYFmIuXSQ1TLWObbVNHgyKEyZQ4ashlZVfUwAXygj29wuCgEOZJ6S1KKlNqv4MpGu43/VXT5qvh4znv/Sv6IUQ0OOVZH+TGRSXRylFmoBLLO45eK4fG9zLDcgcuqd8bMtzgrecRUiDNCJ5mCa2XIINgKaPFeL0vvZABXNk5jFJc5MKvjqeJzS+t5WiBnztTHssM457gQqkB+2hh61nKwJMbkBjI+tnvTnfpnHGQg/M0bQ4Awn9q/VzrjuW/AyA3iVCMiBEJWA0puGOEPmd7gh6K9t3auST3mS X-MS-Office365-Filtering-Correlation-Id: f392297b-1527-49ca-64dc-08d42724b98e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY2PR0701MB2087; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2087; 3:462cin3yItPK8RuDF5nXZl/obK/Ia/YPt+DwXKoe56ZOMto2z9JfB0XuTttnf/kj3+97Vrc7wMe2agCXjmw0bWGtknLiQFOxyATwTjzocchM/ziLozx0cGptkVta1Zo7lybD3uTN+SWlzRspbF20FVztXohtDb/1j9yrSgmb998I6MY0rTAr7i7R+N+1UgjR6eBMfHgtxKh6AX8VpfuO82ZMn66VmobB2U/YpTZ5haVTsVQLk+Ry8pFnD6Vs7Uu+fzGwhhs/RlQrZHHpEs4Bwo8W6v/KUAs7U1qyuzqtbq0CY0rxZR2YjI3ya0BwgZ7bX6xkSIcmNqupfcWZvVNHw+N7WvbzQpgJ3otrWja510ypd3RuqqLMainTBizJ1gl5 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2087; 25:w1edRIVmRRxvLCTJMSw96b8sUGFnXAtdt2nO6tAjYecDAkAT1R/nQDZUZVRpK+D+7FH+H6mmrwujv3gdp+8Ide92lcGrxfXv/036p/MWiMpjZbjBu4p2UXpO2IYRiXzV7FCreWjxctwkVdVI9LNG4Ft/J6fR2l2XtG1D/bE6sbBAjzXJ2tguxZcfFjHIoFRHoPQVL4/zRKXlp8cs+PGfmhrSCmFZ3mLl+2dsoKzc0Zt1ToL1Ks+v8eiC3AhvBLx1Q7IztkR/640zCEDc8ljIV7NFM19YToktE3s5RD6I2SwITEIW3cHkdp9AfS4z5WXyJ5yko4/BwT2j0aD0QIyMIUzQklhZuA+YyE5cwAjbvEacy2sI3Z2/xKGqaI+fGD93Oy0rZSVtE2HvxUUIhKlBZudhxn3WuMvv8LlLsAj6drDx6H44dmRA6XWEt6M57rX4neR1v68NyR+nMLJx2SYWkVbVLqdz2XuxGvHrXbeJx18gVtEE/Gp4QXjHs55Whw0JHE8+SsTiCFDiiXA52+v1Wp2RwwuTNHKsf+k/33rctghxLm5i7AQDDtBrCR9lvgdVVhl9omXIjfmTvRzHq5r1jGcCbF2QWG8c7U57wXX7VB2CbWhbQIwhZVTRgXlAqvC+iM7G1VR9DQHBV+pjMLcm+QZ0vRHDB+fCkqlarkYwKwXCBtYTuJjaS0N+5Xs+/7qm55mXqqO89+0aYDVfGc/R1dPnWhU4SvB+ocgbZ4ansUEetUld0C8h8PqyOjSe0QYu7nHFXyhrpS//FLWrudYU4TjKPPbrsPoFqcif0qyR8BfijliNzgVAZH8YtRprUH8OoYBBmKwShEu2o9lPjEZxvJ9ZNnEmK+qraUefSbtIsK1iXtZLk7ZKVh9Acdlg2zSu X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2087; 31:Q8b5paiukUmIG+XWTu4CSkJlfqPh8rOLAWG3G8IUwg2BAM8L+E1soBnLnJV2/ohQc3iHKfk+Kxj0MMUga+EWwlK9Se1ZRzGpih6/+0vdbHkIg6c2FfOgMnwx1M1+SkQEDp/JRQmF9EF99UzJaR0s9dgoQoiQcveCWXDfxG8d6Yg6vXjCv3RVMJXIsxIyAkDBY9E34wY2v1VZ9DBowouc9ar6BYfFTWDcmFRHfqxfVi3AjPGWvVrubwLlPVdN7CMffvzB5yoJ2pGy1XUtSZFGOw==; 20:DSV+HjckD5hkTpOrd/FbHRHJj6PIOYntmWzhnDYvNcF6G1gy225Gjor8cGSfysKbrTHNAK/sYg9c81YscUeCxNquo4TO2COgwAxDszBMmirNaT44IrIIUDa9Zr1Dagf0GGBJdADzBtk7pL2VYDdP5lvU8Ixuqsrhy2hlnVkF75peACQDkzHCchrTvYtd8eBU43GSPbaR36BQRPjZZEkRazmRianI4CBVR4H4kcAyoCVuBrmUC8NKa+mnKZ1a6KnlRsxJDM3bJsU3jLRti3UT00qeQfn46Aebf4SEMlt0Yh8haVrFhdnXcQvzlcP/yFuQudAbRXzs2mUSVmvdufpfUvJb1Tl6gVSJ1/soRVMmUPD4/Ict26E+KXKY9rR89tGZffmKnyFEuZpdGIheXt/HIdVtS8H1Gs5dFun6Eq9oT7GEz+HMB1Cmx3qIgZmCdJk7UdoRaSbQ74NJruzMMgVI34/S3KGJwATIUrrJ3cipgi8zY+IOGxD5iCEMIsTpe3VC X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13015025)(13017025)(13023025)(13018025)(13024025)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148); SRVR:BY2PR0701MB2087; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0701MB2087; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2087; 4:AxPDklxbKZCYXjNXot8c94B4ANnhx0MR8IODPpKG1ztCC2B/UkGHye8ura1UXo7HRGsMXL9rZft8m4ezeioV3s24Bv2x6eTDeZXZ0da8SdfZegWDT8AzJkH1GceCz4FroGglG4c3ZxeBOTP6rTOcReddrMpSCviG29ev/x33Ceh5s/Vu/Ye6qORYK2K37tipJg5IaxddST+IJgk0Lc3hVMWEPPfYGWpJX0NAhETkghnyzQXFW6f0pbzo6tfYfE/5x6fJOLOOpB/VChhGdkM65IyU4yETQZyGu9dtCCjD2KWokrqiTUyD7oJeWzTJmBmeaXsUnAyM5+2d6QOovSaFXWWuv76EXpbcIw76llOq7sQ/RqFnVs3XpNrRDDWv5vuISoDxpiEQRviaYp2h5EBjb8kZbXkmg8w6ir4tOF76uStGyX+No/tOmrZRDj8X+khu9CqFhIQ+fbSGiN2jaEDrJsmNs+sKat/dgkW/A6N/ycuYMl1MTbQTwppnhj1CIjTfJKrpuWdbAvyspP8Mc6FYCkeOBJ0h2AbPycAtZ4T9cIeI2G485H14Pb0elQmDqHuIkmGp/YZdBeeQkWZxIzt3FoJ77K8Gsp9vrcpb/80YX1vnnuaFE+zjpnPaeAUq9WVKm0MZhwfi8QBUbH8xXwvJRoy5T096TsSpRB+Kgmbs7gY= X-Forefront-PRVS: 01604FB62B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0701MB2087; 23:Q2UfOOAR1uXUXM1DT8nWMwjC+8cBUsiYmtdP6pp?= =?us-ascii?Q?QG/IxeiEE24aZN2iNsqjuWTKDYgEZSgXT6KRYZ6Af+QpmEPSQ6A4MJNmzROv?= =?us-ascii?Q?yH8mnB0La5hp5JppWZFtJAOr5bPcvJUbZDuP3lzdg1t6L5e5wA/K0/PnJmXy?= =?us-ascii?Q?5lfmyE/pOv2IrUKHKoVgbFl0mxsuUlenZOy70UkIqDcqPbk3HvmveH9DPvkc?= =?us-ascii?Q?wADu8elFErkZ1OZ2VGs5gbRSqLEe2oYBBMMbNSFHO6pSbrh8hz98k69iqXCw?= =?us-ascii?Q?dVTw/OdJoYVPNH5yjqmPzZR9kHtoPdt2SH/DL67e/PVla9QqL3zK1UerM8F8?= =?us-ascii?Q?OE/bDpcSW9CTGeIH16dA1oh/9awbEDR12Fp+H63kPkAOPRbKo28K8f4m2rsz?= =?us-ascii?Q?GDffbpHQC5U9kkiUL+O9oNJR6sAkYUZPGt0uEjxqBq7ocfu0TN/3wkwF2CzO?= =?us-ascii?Q?hRkeYk/9yB55LwOlAyw/7zLMdsD7ekYYn+Su21j3Q7rivXegCjwkuOQ2oVv4?= =?us-ascii?Q?foSPORlbHyFXfRy7UmzMgnqWn8FdE0HgFBAAPavFZbHl0mqszFNLIBcfKP2g?= =?us-ascii?Q?aX2FWauMheCJG0uvrS0liNOnzk1v3/x0Qqj9b38lZzX3XfisGzK54Hkgy/sf?= =?us-ascii?Q?cuEpzbFLHUiBQYRUcL45OJ9ySk62v7VyLCGXaqoDp2HWW8ZwYtdzlE8UZUyP?= =?us-ascii?Q?0Um3eQ9dgPtgAxxnu9M842rld8249Hb4qWU2vadGnVuk/+435sOzHWEY594s?= =?us-ascii?Q?g4HmRpo+hax8MIaD5F6U/Eo8xV3D0mYSfJPzEDcauYRTXX+KRSgIs6ISH0ad?= =?us-ascii?Q?+wMNp4VobpaUkcifuQXWtl6GeWeFpZ+ibw+rwHBHhB8R1xpqug25Ly+ZfnyT?= =?us-ascii?Q?pKJEbaDXXhbZa71WnxQ7yABEO9oShahDn4Yy9dx/CyasKuQjbuG+xFdYftJJ?= =?us-ascii?Q?JIG8WbHz8QEMTcqmsrXBgESrRMImGwkGRxs7uis1RIaW9Y20Gos2pmJQaeb9?= =?us-ascii?Q?BTRt7vFWGn1i9HX0sewX3l9/K6vxeCTgC9rRaf5OW0aHtoNyeF0CuI9ZVmkT?= =?us-ascii?Q?DrXjJhox/CBClvk5Rmbh8NGGUIuut3+j/i1w6utUvJlLbQQ6mfzhKLa/O4K8?= =?us-ascii?Q?IWu19m7su7NnJss7zR1Pmi28vxbqtUl/r?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2087; 6:484kZIvoOhKvV5JTBXytndGJNk3x/Cs60kJoZpYZFHFr29baejj6vrH78mmL6NasE9QxmyXXyem1GksQDO9pCfr4k9F8lo1PMyutm7V7h9JwDJo9OBiRK+N8q0uqNFvJ3pZ9LJX0UkwPOaEnx16z74xJOuh5JyP3GUyDyetgV1ML40raDMstulm3yl2hKa49Zo95rnXgfQ1T3TLsHZDQywVlLbPmuDB6AK/T+o3PtJt4qNhPbQ5HCXeMG05wEyi5gduJqTNY++mRMh9aiX+6YQHrQ9h0oPsPxbTMcbngAoZsAtYycKf6pXSpswCiJLFUrD4dW0yhwrvv2w3PLAkasqb+AURFDezHV+nguNyHpiDYcXlf9XBJNLCHdPnO3TUc+6PnQibewBlnhlr6kMfEDE1IilU7lMHW+Q+btn9IuqI=; 5:7vDGyzvjvdWtMo93EJj1AHfFxNiheeFeWQ/ZR8i/VXMe6SzsENF0u4vR+G48hhPBLpFF4r4zLx7lWyvaPn6+afgiLonMwDSfdSIEZp3q1cM9sDaOalfkIm0dfYA0qizP5BG/NvozzsMU25u4eh9u5w==; 24:i2+U695HIVBWXGkvGsSJAARMvbS2q9pnPTqrEhh9rydXI75nuMW0S9MJmOyrNWl9BOl9T5NIA8Dja0dwRtgds6sZCWVUymusq6rF+7uV+1c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2087; 7:QySf/jmLmfSEQ5uzFL/wBtY41bIlNxXYvZmqhSukIaPfNCMw1bpzgOp0ogw8SCzgv8L9oT1KuMuQ80b4+fCsRlXjfxAyWEpPZixj/zAcVcivOzBJCqvBRjVn12IF3wn6wNEaEr0krNyGMgc8svzIVf37iUcbg0u6GYV8x+GMsGf2Tw2I/deysTWNGtaDLVK6MaJwgbAGRzaX+ivA6oeR/CCQDt8V+CXPk5AKkq+6mQQt8dXCoqT0dC3c8Bq0ekc26Isq/IxFGsN7aKC+Faw93PmK0T/uGtgzIH6N9NtIeHxGeNIHLMCNn0q/QGh5TZscRcbgQOmkF8o6tg749ym8PCx9cF3N36fDPN5uq1FLCFeg4QBiE4UKRftIViNVbBrziVWKTz9TJ4PsC1MwMTH+n6v5Mz8rv/pDsAIipO4adyE1cEF1qdYLvFrOk1Ss7mrC0gAacqOYHIdBoologYCxMA== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Dec 2016 09:03:24.8073 (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: BY2PR0701MB2087 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 Move code code which converts Task Mgmt Command flags for ATIO to TCM #defines, from qla2xxx driver to tcm_qla2xxx driver. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani Reviewed-by: Christoph Hellwig --- drivers/scsi/qla2xxx/qla_target.c | 71 +++----------------------------------- drivers/scsi/qla2xxx/qla_target.h | 6 ++-- drivers/scsi/qla2xxx/tcm_qla2xxx.c | 37 ++++++++++++++++++-- 3 files changed, 43 insertions(+), 71 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index 9b92a74..452ac1d 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -1568,9 +1568,10 @@ static int __qlt_24xx_handle_abts(struct scsi_qla_host *vha, mcmd->sess = sess; memcpy(&mcmd->orig_iocb.abts, abts, sizeof(mcmd->orig_iocb.abts)); mcmd->reset_count = vha->hw->chip_reset; + mcmd->tmr_func = QLA_TGT_ABTS; /* handle_tmr will search for LUN id based on exchange addr*/ - rc = ha->tgt.tgt_ops->handle_tmr(mcmd, 0, TMR_ABORT_TASK, + rc = ha->tgt.tgt_ops->handle_tmr(mcmd, 0, mcmd->tmr_func, abts->exchange_addr_to_abort); if (rc != 0) { ql_dbg(ql_dbg_tgt_mgt, vha, 0xf052, @@ -4035,7 +4036,6 @@ static int qlt_issue_task_mgmt(struct qla_tgt_sess *sess, uint32_t lun, struct qla_tgt_mgmt_cmd *mcmd; struct atio_from_isp *a = (struct atio_from_isp *)iocb; int res; - uint8_t tmr_func; mcmd = mempool_alloc(qla_tgt_mgmt_cmd_mempool, GFP_ATOMIC); if (!mcmd) { @@ -4057,74 +4057,12 @@ static int qlt_issue_task_mgmt(struct qla_tgt_sess *sess, uint32_t lun, mcmd->reset_count = vha->hw->chip_reset; switch (fn) { - case QLA_TGT_CLEAR_ACA: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10000, - "qla_target(%d): CLEAR_ACA received\n", sess->vha->vp_idx); - tmr_func = TMR_CLEAR_ACA; - break; - - case QLA_TGT_TARGET_RESET: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10001, - "qla_target(%d): TARGET_RESET received\n", - sess->vha->vp_idx); - tmr_func = TMR_TARGET_WARM_RESET; - break; - case QLA_TGT_LUN_RESET: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10002, - "qla_target(%d): LUN_RESET received\n", sess->vha->vp_idx); - tmr_func = TMR_LUN_RESET; abort_cmds_for_lun(vha, lun, a->u.isp24.fcp_hdr.s_id); break; - - case QLA_TGT_CLEAR_TS: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10003, - "qla_target(%d): CLEAR_TS received\n", sess->vha->vp_idx); - tmr_func = TMR_CLEAR_TASK_SET; - break; - - case QLA_TGT_ABORT_TS: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10004, - "qla_target(%d): ABORT_TS received\n", sess->vha->vp_idx); - tmr_func = TMR_ABORT_TASK_SET; - break; -#if 0 - case QLA_TGT_ABORT_ALL: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10005, - "qla_target(%d): Doing ABORT_ALL_TASKS\n", - sess->vha->vp_idx); - tmr_func = 0; - break; - - case QLA_TGT_ABORT_ALL_SESS: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10006, - "qla_target(%d): Doing ABORT_ALL_TASKS_SESS\n", - sess->vha->vp_idx); - tmr_func = 0; - break; - - case QLA_TGT_NEXUS_LOSS_SESS: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10007, - "qla_target(%d): Doing NEXUS_LOSS_SESS\n", - sess->vha->vp_idx); - tmr_func = 0; - break; - - case QLA_TGT_NEXUS_LOSS: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x10008, - "qla_target(%d): Doing NEXUS_LOSS\n", sess->vha->vp_idx); - tmr_func = 0; - break; -#endif - default: - ql_dbg(ql_dbg_tgt_tmr, vha, 0x1000a, - "qla_target(%d): Unknown task mgmt fn 0x%x\n", - sess->vha->vp_idx, fn); - mempool_free(mcmd, qla_tgt_mgmt_cmd_mempool); - return -ENOSYS; } - res = ha->tgt.tgt_ops->handle_tmr(mcmd, lun, tmr_func, 0); + res = ha->tgt.tgt_ops->handle_tmr(mcmd, lun, mcmd->tmr_func, 0); if (res != 0) { ql_dbg(ql_dbg_tgt_tmr, vha, 0x1000b, "qla_target(%d): tgt.tgt_ops->handle_tmr() failed: %d\n", @@ -4199,8 +4137,9 @@ static int __qlt_abort_task(struct scsi_qla_host *vha, lun = a->u.isp24.fcp_cmnd.lun; unpacked_lun = scsilun_to_int((struct scsi_lun *)&lun); mcmd->reset_count = vha->hw->chip_reset; + mcmd->tmr_func = QLA_TGT_2G_ABORT_TASK; - rc = ha->tgt.tgt_ops->handle_tmr(mcmd, unpacked_lun, TMR_ABORT_TASK, + rc = ha->tgt.tgt_ops->handle_tmr(mcmd, unpacked_lun, mcmd->tmr_func, le16_to_cpu(iocb->u.isp2x.seq_id)); if (rc != 0) { ql_dbg(ql_dbg_tgt_mgt, vha, 0xf060, diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h index f26c5f6..7f11e0c 100644 --- a/drivers/scsi/qla2xxx/qla_target.h +++ b/drivers/scsi/qla2xxx/qla_target.h @@ -724,7 +724,7 @@ struct qla_tgt_func_tmpl { unsigned char *, uint32_t, int, int, int); void (*handle_data)(struct qla_tgt_cmd *); void (*handle_dif_err)(struct qla_tgt_cmd *); - int (*handle_tmr)(struct qla_tgt_mgmt_cmd *, uint32_t, uint8_t, + int (*handle_tmr)(struct qla_tgt_mgmt_cmd *, uint32_t, uint16_t, uint32_t); void (*free_cmd)(struct qla_tgt_cmd *); void (*free_mcmd)(struct qla_tgt_mgmt_cmd *); @@ -775,6 +775,8 @@ struct qla_tgt_func_tmpl { #define QLA_TGT_ABORT_ALL 0xFFFE #define QLA_TGT_NEXUS_LOSS_SESS 0xFFFD #define QLA_TGT_NEXUS_LOSS 0xFFFC +#define QLA_TGT_ABTS 0xFFFB +#define QLA_TGT_2G_ABORT_TASK 0xFFFA /* Notify Acknowledge flags */ #define NOTIFY_ACK_RES_COUNT BIT_8 @@ -1036,7 +1038,7 @@ struct qla_tgt_sess_work_param { }; struct qla_tgt_mgmt_cmd { - uint8_t tmr_func; + uint16_t tmr_func; uint8_t fc_tm_rsp; struct qla_tgt_sess *sess; struct se_cmd se_cmd; diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_qla2xxx.c index 9275f36..6e98573 100644 --- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c +++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c @@ -563,15 +563,16 @@ static void tcm_qla2xxx_handle_dif_err(struct qla_tgt_cmd *cmd) * Called from qla_target.c:qlt_issue_task_mgmt() */ static int tcm_qla2xxx_handle_tmr(struct qla_tgt_mgmt_cmd *mcmd, uint32_t lun, - uint8_t tmr_func, uint32_t tag) + uint16_t tmr_func, uint32_t tag) { struct qla_tgt_sess *sess = mcmd->sess; struct se_cmd *se_cmd = &mcmd->se_cmd; struct se_session *se_sess = sess->se_sess; bool found_lun = false; + int transl_tmr_func; switch (tmr_func) { - case TMR_ABORT_TASK: + case QLA_TGT_ABTS: spin_lock(&se_sess->sess_cmd_lock); list_for_each_entry(se_cmd, &se_sess->sess_cmd_list, se_cmd_list) { struct qla_tgt_cmd *cmd = @@ -587,13 +588,43 @@ static int tcm_qla2xxx_handle_tmr(struct qla_tgt_mgmt_cmd *mcmd, uint32_t lun, spin_unlock(&se_sess->sess_cmd_lock); if (!found_lun) return -ENOBUFS; + + pr_debug("%ld: ABTS received\n", sess->vha->host_no); + transl_tmr_func = TMR_ABORT_TASK; + break; + case QLA_TGT_2G_ABORT_TASK: + pr_debug("%ld: 2G Abort Task received\n", sess->vha->host_no); + transl_tmr_func = TMR_ABORT_TASK; + break; + case QLA_TGT_CLEAR_ACA: + pr_debug("%ld: CLEAR_ACA received\n", sess->vha->host_no); + transl_tmr_func = TMR_CLEAR_ACA; + break; + case QLA_TGT_TARGET_RESET: + pr_debug("%ld: TARGET_RESET received\n", sess->vha->host_no); + transl_tmr_func = TMR_TARGET_WARM_RESET; + break; + case QLA_TGT_LUN_RESET: + pr_debug("%ld: LUN_RESET received\n", sess->vha->host_no); + transl_tmr_func = TMR_LUN_RESET; + break; + case QLA_TGT_CLEAR_TS: + pr_debug("%ld: CLEAR_TS received\n", sess->vha->host_no); + transl_tmr_func = TMR_CLEAR_TASK_SET; + break; + case QLA_TGT_ABORT_TS: + pr_debug("%ld: ABORT_TS received\n", sess->vha->host_no); + transl_tmr_func = TMR_ABORT_TASK_SET; break; default: + pr_debug("%ld: Unknown task mgmt fn 0x%x\n", + sess->vha->host_no, tmr_func); + return -ENOSYS; break; } return target_submit_tmr(se_cmd, sess->se_sess, NULL, lun, mcmd, - tmr_func, GFP_ATOMIC, tag, TARGET_SCF_ACK_KREF); + transl_tmr_func, GFP_ATOMIC, tag, TARGET_SCF_ACK_KREF); } static int tcm_qla2xxx_queue_data_in(struct se_cmd *se_cmd)