From patchwork Fri May 19 21:53:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9738267 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 76FCA6034C for ; Fri, 19 May 2017 21:54:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6455428563 for ; Fri, 19 May 2017 21:54:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5912D28585; Fri, 19 May 2017 21:54:32 +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 B7CA828563 for ; Fri, 19 May 2017 21:54:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756856AbdESVya (ORCPT ); Fri, 19 May 2017 17:54:30 -0400 Received: from mail-sn1nam02on0060.outbound.protection.outlook.com ([104.47.36.60]:45120 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756792AbdESVyU (ORCPT ); Fri, 19 May 2017 17:54:20 -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=VifHKg5gbhjAC5sKoZKKM9zp80fZZSL4jlIwR1bE2hY=; b=eo5huh5cCCZQpsk/9i50HY6ZHB23qyfXKGM3V5iTocYXtkXq7axy/YxXfxVEZ/nyBFfq/k4p8aa4mxFFR5wDIOq8cNZVc7amiXmtPa1vALSWawONCjYwDWrh8SSmRiReCj1Q9DvY4L+H7RaA6TtRArsygPGHyuFD+bRFzCNxxGw= Received: from SN1PR0701CA0010.namprd07.prod.outlook.com (10.162.96.20) by BN1PR07MB422.namprd07.prod.outlook.com (10.141.59.15) 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:54:17 +0000 Received: from BY2FFO11OLC009.protection.gbl (2a01:111:f400:7c0c::134) by SN1PR0701CA0010.outlook.office365.com (2a01:111:e400:5173::20) 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:17 +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 BY2FFO11OLC009.mail.protection.outlook.com (10.1.15.0) 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:54:16 +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:53 -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 v4JLrrMA002283; Fri, 19 May 2017 14:53:53 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v4JLrrYn002282; Fri, 19 May 2017 14:53:53 -0700 From: Himanshu Madhani To: , CC: , Subject: [PATCH 18/25] qla2xxx: Turn on FW option for exchange check Date: Fri, 19 May 2017 14:53:37 -0700 Message-ID: <20170519215344.2168-19-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)(39840400002)(39400400002)(39410400002)(39450400003)(2980300002)(428002)(189002)(199003)(9170700003)(106466001)(50466002)(38730400002)(2906002)(48376002)(105586002)(87636003)(1076002)(54906002)(80596001)(478600001)(42186005)(72206003)(356003)(76176999)(36756003)(5003940100001)(101416001)(5660300001)(33646002)(189998001)(8676002)(8936002)(50986999)(305945005)(81166006)(50226002)(2950100002)(47776003)(4326008)(6666003)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR07MB422; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11OLC009; 1:6IuYgLYP+9a+9XTRWlxHkNbErwUMKRUcF5sJHuHtLOmJNz4fH6wBy6f7rsJvAlkT42EILy1MpNU8t+37dhlmcxcpbNQ+bdYg4T/s1JoUrdDFeIBwR4r2vGbfYEUfgf7HwPeiBXYSOkvOcvHDvotXARQK37Vi2V2s6P3Mmr7bjkQi53PHPU2tWlwk47Syz1jb1mJSlbznmxiMiQLw7YV6oqEW2VGOuTvw80U3rdkRR9c5NQXQo8wpH0mUgofOvZ04PgIw5hRfh3OReHGh4ORleNoWwDlsTfABlCBNWakNPs8EI8RngYqKKYI+ZfpYop3e98GCUhxYydpzqYTBW0RG+3Jgqtyq83FbMqIP30j+rf49SXCgZsMoDYKP1csfYr74pdYWaGi/UzXfv8golBC2lMLAJ20bwMeOvtsZrZaab9JghwBC2HswkLTlII6+ghUCFracLZGzaYACmEsF/n+JJc65Ob5FnpjZKnGJZFyzBvgFWJDzL66073BJ0+02xlHBdMlHQXEiewCCjinFHbbKS4SHcSMrA6ZAVUDmCyjbbUMULndVpjeO25FoNnfJAZLUdR4R0OS1H5qXJ09pb8s9QA== X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PR07MB422: X-MS-Office365-Filtering-Correlation-Id: 59a2ca05-60eb-4c44-6141-08d49f0198a7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BN1PR07MB422; X-Microsoft-Exchange-Diagnostics: 1; BN1PR07MB422; 3:1ptMaoVS4RKC0l2MlMNjqYEair7T7/beiMlDIYrBU3EaIMRlCgjrjrFn4KBqVXI2gw8L/qWjVzr2THmOgr3LxJfaTqfnKY4IVmR2luiVv9+6s963YDBYE9KIUPqTtbrQgmVpNqLQN8NU5D9CbkgnbuBiHb3LpK5YObt/WMz7ZdQ474vaWWyTmX2lv9pO5wVHPJeMsIVV7LkJ54RsGWTNMYTadZwmf25v9CfiNuhMh6zAz2GzEhSPCf2aXvx7UYPQhKnpbauGLcoQsmW1MawQag+7tA+FeK0c9IJqTWBEgyJQgyRhVSEp1yFx655oT31wQlq+2ipAnzjLc5anjdB4t59PsoPxJYKRx9KHvBOw6fF5J3C81oiXDwojTJzgsIHXnwKG6fe8Ks9zaYBQKpjqox/w/PGQcXbIzWGwPExv46oOC/9dz4BQH6PkATuIjcwnj54EnFr8LBsvsQvcBE1Nmq57PCLfgjD50866iXXmWv/m9bRHIaMNL6tY24aYoQgP X-Microsoft-Exchange-Diagnostics: 1; BN1PR07MB422; 25:CKYYtnNwIk35K6cHLcqwj9ofX4lEsea3QetlyH3roB60yZYCHhmqHpKlUD5bS3PZ901Ifcybys6Ko4ShFklmyZnoNVBL6mr31tLonC7A5s0evda02wffY8M+H7EIlB4NB+Aa1gp+9lsixrK4ofqZK6rEerpd5LmBUZwxFK0bN3vFOFAKL9aSuW5JSecy/HzWoNY3KXD4TTMPDGT5WI+c00B0aRuiSonTMz5MJwB6pMCBTYXyGs9VRebffYs2FDE4dPdABoklZcumpjvPJqZ+QTRFG177ay2jx3K8ZbMQjMzfB+vXz6/NVFhKHVfYXY7DwnWAp2BIKS0W8ReNo/6h+AMtnd4gcpCJi/UE0cxHOpyHICkGQPgzhg/2PsD3EJJSSg+6xTkWC6Jrm/0Y0Qq2JyYeQ5ZkKPAvQurhvODFjMamXE8f1i1Tiy8FgDAsImHivjDYoTPW1BNIf3k19dRE+u0bgGAxJNrj+XMdsKMOe4A=; 31:PB5YVVwiQfkaXKeoZ55IKNx7hq4qXSAAsaVydv20jBZEMXU7St6jkEoZDVsVwsTiD93DbNUaOWeQcXNT89pxcRGzEZuFmgof8MVtss5qk35Znr+eu336ewxHOhvMMiq8gbIvTpcxAP0+TLlc+Yst9sYByxFl6Oreeg9OIlRwyWcH6zBQeWMSyWhylYAwafaM9DQyp3aOtVVeW02snA66012hV16gWuubJW74cdugL7PXnmvlk8r245siN9rIp2YJ X-Microsoft-Exchange-Diagnostics: 1; BN1PR07MB422; 20:+24aR+Ppriy2hJKHCgNYWxLds8V77qcR2LWsqqm3LZzot7ZC9TmF3ywhU6ywCYTOmrwzkf+1uKz8CimpolyM0LshAG7bQsV3yCwbEWrLcHdoEl/TKLwifirMEKlJz/maR8TTQbSsfK+N1pIp94L9wlLm/eELLKu/c++uEEfCeKdi51beJqNgXEM6bo15ISVZuHVloH0PwgtC0GiU9uI5AkuLLf/Yp37yUcXa8P+t10JWV7t6UE8epxeHzXl3pF0rRE3rO3pTFfve6w4Ji5s1BGkVdcfwiCzQ0CORLEBpaIWA6gJSb6t0fxDpMdaDY/ml62EA/uo27j5VvNyKLVdzuY0rScTB4N05Bew7Php0mhYajJWI/L7ymjXGRurVLE8g9pRz8PE6UMZPTxrLHyEizzhGcC5OowEElMD54u2sz92tt3rwaczJjMiWf4i68Dpq0hMFY8AighfWEZfZniFF+fvxwqRPXeMqV238pPe6RBLgNXTWCx3NbW7sgXBn9gPv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(13015025)(13017025)(13024025)(13023025)(13018025)(8121501046)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123555025)(20161123558100)(20161123562025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148); SRVR:BN1PR07MB422; BCL:0; PCL:0; RULEID:; SRVR:BN1PR07MB422; X-Microsoft-Exchange-Diagnostics: 1; BN1PR07MB422; 4:jiqPNtgfXm2snmFJx71BuV199R457XrDdhhQ+qWgFxnILTXU4JAjlQFym2Pw4Fg0vzzWX6SISJMxC2UTvFIIH9eRybXxw1XyCWIhq95X39MI8qxyNXmN71Z7tPZXQ4ZLnW3aAvycJxszj9W3aNsn3Ln/SpTWBEzTu2CHsbpUh14OOfv4c2weTt0vbKI3PIf6B9vd6eyGCmnrDtfW7WzmmIC658XXladGGBRQjgvBT46VYXgpFBoeXWEAU2LtNGOe38Ola4CXT49Tk9fYV14+XrzM9lfROSqZ+Nd2dDrFHyovLY84chKsDdz6g9swezBYIWVhoBVSE12+QXSMgItFJDru2ufnOCBCZ2UT/P5SO3Bju0jjJ2DMA0liT7n+tYQj6FT808K4qE+hqskUxnLnbcAQ7bjCd1CYXNkZbcTX95XwOgb9lzDHuvQ45KOocsnU7x5kvd4p5vaZYUDcMiXub8Up4iul0TUXV4JGELqCosv7kcRA2LFtbDsFz0Gdj1OdomMbs7sKl8hY7Nf+Ybvk3HCytksj3DSQyGzJZdqCoi8Tj+W4Uv0atGVRQbo+QvKBayItfQvj735fV8M3piuV9MFPTwplRFr96/yExAlmeSFdSocLvvEsxDRSa6M7iTXgwDdgfdctH7FrOXR4lTjjwG/5ji38umkAizHEw5RVbh2PO8NrvEboi8DyV5ZNy467DqE+pT31UUrGEOD7WAGA+e7IHoM9fZ3x4coZ/cN3n//ToGv+631+lEOZXg0wYbqagOSspF8F/aQubwrnPpqfVnyn9KfkU94mOG6ODW7CLZPh5Xzz1Crf7pc5nAZgsCM3q/CVGsJJDQi6KyKfELbYJ0qmxAJVapVSkumYJZwNmJ3aV+UgvPfOhEokV/pF3jrQ X-Forefront-PRVS: 031257FE13 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR07MB422; 23:6y4tJi5NLn5YBKmLA8RWoDDzTVbK4yV6l7Np0ya+Hm?= =?us-ascii?Q?xAnbWJx6w1FKPhglDW0GxAdHrWm3/Pda91iVZJbzz9S/Ig2y7MOW+bPU+86N?= =?us-ascii?Q?6qba3CttQm0WifyoCLb/j2WWqDrdk8KAaiBU52QfGuWFepmMX7fSY4k2FHWH?= =?us-ascii?Q?88TimmWtsWi9pb5/Hmz3dir6lWMiXua0oUkTZnZb/H0+ulWVul4a9qWgFUtc?= =?us-ascii?Q?T9IIgWeqepsuqr1r8wXksS50YhL6Tq9skK5D9I7HYYLKYbuZflo9kZ0NkE2T?= =?us-ascii?Q?9OPGTKZP7LJtO9KjyVJplSeIGxck5DT8MmjcY8kcVo0K4YjGlbR3RvRIOmxq?= =?us-ascii?Q?mwheZ8wxs+ntICkUautvONUR4TG4nW10kZnoGqOfh42ratyMIcIZnceZSwJ6?= =?us-ascii?Q?zSdHiiNBgEKnLPnJnAdtuNhZiYllryoc2h2aq9p31P9/bIbwb73Y525kcapL?= =?us-ascii?Q?tRGvhopLOzIc92yAQ1gEvXqvHNzaom7+Pd3/bRd7bbzgZWNF3i1/N7U7+y0C?= =?us-ascii?Q?y+trF/MSrnuUo80rFPU/ix0z689+qUA1MjLJngQnZtctWL49yzyPIHLq49GQ?= =?us-ascii?Q?yOW/aK9rdDNZX81d0evf8svoaL6NyOLnpnawtMN+peACHKZDb2FDiV2+QMXI?= =?us-ascii?Q?JxVFam+MJToFY3PqJ5xtiHeIaKjEq8vKSzp4r+Qi/8jAfJjdyYbLZRiXDWMd?= =?us-ascii?Q?3jNN4+OLW71FPvIesJnLQMaR3bE/iEf836CGCEH6trZ0rCXvOdlBizCl1+c1?= =?us-ascii?Q?ZyD5x45JAaUhzR0UO5Jd4EKGM7HN4BBf1y02aL664K3smJupUTP0Hx/1uGzQ?= =?us-ascii?Q?wPk5JpP6l+0q96atjm/oHFdL32WJEwPVvISOxSe1BfSufDMBqvNX/5RrgVng?= =?us-ascii?Q?SCNWMNlJsLn8y1aQ/H4B28HWuJDBdRX+Ns9RHcyZycsrofWt6lqamM2voPtv?= =?us-ascii?Q?LH6JsHAp/jatJyC8DLeRaTTHcCh/pC5dCRA4+nP/EdvWNN1R9HXkz5ByeaW6?= =?us-ascii?Q?nsfwDdTtnmFuJ+aGJoKoUUhc54ZMjecCe6XR8yyiTHspNwkHLq2e4bHB6/5g?= =?us-ascii?Q?BrswHNTVn0Ngimgd0Ima1NKoTY?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR07MB422; 6:oWQ4zJGm8gj6UQjCe7V7cvgMHmavyLTfkU/zkSAyRlggHTTupPGCv5PRaocRylEhKw5gmTlK8wUC3gS9K8EezAgoWHcKdq7prGJ24/jv8gpDNJpjzaWfn1d1BM1OC6j78eSbD4DWlC35qqRB2PQO9UsTHSh+e2Fv/JpG5VoMYx5AWANhhHIQFeWaMEzmEnG78OaWeKEvkOrV0CaiZ9m1L41Nmzgk43m/AjrWvr4jwd4CTz5JTVVsj0Bk00I1gN4lh1ihcnVpuXO6UnCzkX/yHFiRyPwB6MoPXiNcOoXxSjTlQBYmioZGqgRx1erpzmZBYxiBkMSFp6vfzbkkpx9i5Myfd2QmaRSC0+MSnPk48pR2LnCVfxqAu9nP7tFkOFCpFHhN+8jfdSbJzxixR5SBimfBgLaMkeTmSTocQqt1caf6xuxK8o/TBbbx6853vFEhx1YkI/WnUVyJrmbANgaU273Hl7KCQ+5Fv2oesTaZ2tQKEkkoE+oDA4i1e/5Urdt8zwKdPrxzswq2qIrdslclmw==; 5:U55v9MvvDeR4Xhz9ApyziDqfVtLqSSVSkCNRWadMoQytg7MdtisLDV/0DE1x1fnINU7VFH7LFH5cZI9+wKlRdWFTsLdpjJ0TnUzJ0Qdkxlq3X1FRVKEWhPCbP+9zHHgwPgKfNVXNlqdcDGd9QEjAOA==; 24:pC9PkXTL+x3Q/d8cZqp5qkDijS9esoO72Txnkk1+7BdeuGi2ti8UUzw3LNqn0HjtiJqOQl1vR2zasiy+xNlDtJHTMTTb9f7qHwtSyRTHkjY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN1PR07MB422; 7:nvgJQCHjkYuifLp/RLnHgBm+4jD4Fg3t0ksggKsdDlkp+3ozaxxulqkjkBh12rn6CPJrxF7pYXi6tXdVRqNKWWIq1k92I61USf8y4vZmotuq1/6+/e748QfBymIqAUBJfZZqXDS/N1sbHx9//7VpYNGERP8Ys42QmeIebeeznROKZvac/hl55KjQbqnfJvnRXYcWj9Ca6txDuRsj0hpCktAn3xk8MavkphjH8ylfPNcC5Stamm+CQdDYUYRnKPz0hQS9ZE09sMaAee7gxGieOO1a+3afFB+xleGM48jjZ2DMf8QmQHBmHXqk9JVOiWIgVovJMi16MdMaktu+u8Wjyg== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2017 21:54:16.8944 (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: BN1PR07MB422 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 Tell FW to track exchange/cmd state to prevent driver from using stale exchange or exchange that is not meant for this command. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_init.c | 18 ++++++++++++++++++ drivers/scsi/qla2xxx/qla_target.c | 27 ++++++++++++++++----------- drivers/scsi/qla2xxx/qla_target.h | 2 +- 3 files changed, 35 insertions(+), 12 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 9aa125795d12..32fb3ed4fb33 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -2974,6 +2974,18 @@ qla24xx_update_fw_options(scsi_qla_host_t *vha) ha->fw_options[2] &= ~BIT_11; } + if (IS_QLA25XX(ha) || IS_QLA83XX(ha) || IS_QLA27XX(ha)) { + /* + * Tell FW to track each exchange to prevent + * driver from using stale exchange. + */ + if (qla_tgt_mode_enabled(vha) || + qla_dual_mode_enabled(vha)) + ha->fw_options[2] |= BIT_4; + else + ha->fw_options[2] &= ~BIT_4; + } + ql_dbg(ql_dbg_init, vha, 0x00e8, "%s, add FW options 1-3 = 0x%04x 0x%04x 0x%04x mode %x\n", __func__, ha->fw_options[1], ha->fw_options[2], @@ -7366,6 +7378,12 @@ qla81xx_update_fw_options(scsi_qla_host_t *vha) ha->fw_options[2] &= ~BIT_11; } + if (qla_tgt_mode_enabled(vha) || + qla_dual_mode_enabled(vha)) + ha->fw_options[2] |= BIT_4; + else + ha->fw_options[2] &= ~BIT_4; + if (ql2xetsenable) { /* Enable ETS Burst. */ memset(ha->fw_options, 0, sizeof(ha->fw_options)); diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index 6d6982249c61..4fce4ff406d8 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -2014,8 +2014,10 @@ static void qlt_24xx_send_task_mgmt_ctio(struct scsi_qla_host *ha, ctio->initiator_id[1] = atio->u.isp24.fcp_hdr.s_id[1]; ctio->initiator_id[2] = atio->u.isp24.fcp_hdr.s_id[0]; ctio->exchange_addr = atio->u.isp24.exchange_addr; - ctio->u.status1.flags = (atio->u.isp24.attr << 9) | - cpu_to_le16(CTIO7_FLAGS_STATUS_MODE_1 | CTIO7_FLAGS_SEND_STATUS); + temp = (atio->u.isp24.attr << 9)| + CTIO7_FLAGS_STATUS_MODE_1 | CTIO7_FLAGS_SEND_STATUS; + ctio->u.status1.flags = cpu_to_le16(temp); + temp = be16_to_cpu(atio->u.isp24.fcp_hdr.ox_id); ctio->u.status1.ox_id = cpu_to_le16(temp); ctio->u.status1.scsi_status = @@ -2068,8 +2070,9 @@ void qlt_send_resp_ctio(scsi_qla_host_t *vha, struct qla_tgt_cmd *cmd, ctio->initiator_id[1] = atio->u.isp24.fcp_hdr.s_id[1]; ctio->initiator_id[2] = atio->u.isp24.fcp_hdr.s_id[0]; ctio->exchange_addr = atio->u.isp24.exchange_addr; - ctio->u.status1.flags = (atio->u.isp24.attr << 9) | - cpu_to_le16(CTIO7_FLAGS_STATUS_MODE_1 | CTIO7_FLAGS_SEND_STATUS); + temp = (atio->u.isp24.attr << 9) | + CTIO7_FLAGS_STATUS_MODE_1 | CTIO7_FLAGS_SEND_STATUS; + ctio->u.status1.flags = cpu_to_le16(temp); temp = be16_to_cpu(atio->u.isp24.fcp_hdr.ox_id); ctio->u.status1.ox_id = cpu_to_le16(temp); ctio->u.status1.scsi_status = @@ -2357,7 +2360,8 @@ static int qlt_24xx_build_ctio_pkt(struct qla_tgt_prm *prm, pkt->initiator_id[1] = atio->u.isp24.fcp_hdr.s_id[1]; pkt->initiator_id[2] = atio->u.isp24.fcp_hdr.s_id[0]; pkt->exchange_addr = atio->u.isp24.exchange_addr; - pkt->u.status0.flags |= (atio->u.isp24.attr << 9); + temp = atio->u.isp24.attr << 9; + pkt->u.status0.flags |= cpu_to_le16(temp); temp = be16_to_cpu(atio->u.isp24.fcp_hdr.ox_id); pkt->u.status0.ox_id = cpu_to_le16(temp); pkt->u.status0.relative_offset = cpu_to_le32(prm->cmd->offset); @@ -3482,9 +3486,9 @@ static int __qlt_send_term_exchange(struct scsi_qla_host *vha, ctio24->initiator_id[1] = atio->u.isp24.fcp_hdr.s_id[1]; ctio24->initiator_id[2] = atio->u.isp24.fcp_hdr.s_id[0]; ctio24->exchange_addr = atio->u.isp24.exchange_addr; - ctio24->u.status1.flags = (atio->u.isp24.attr << 9) | - cpu_to_le16(CTIO7_FLAGS_STATUS_MODE_1 | - CTIO7_FLAGS_TERMINATE); + temp = (atio->u.isp24.attr << 9) | CTIO7_FLAGS_STATUS_MODE_1 | + CTIO7_FLAGS_TERMINATE; + ctio24->u.status1.flags = cpu_to_le16(temp); temp = be16_to_cpu(atio->u.isp24.fcp_hdr.ox_id); ctio24->u.status1.ox_id = cpu_to_le16(temp); @@ -4976,6 +4980,7 @@ static int __qlt_send_busy(struct scsi_qla_host *vha, request_t *pkt; struct fc_port *sess = NULL; unsigned long flags; + u16 temp; spin_lock_irqsave(&ha->tgt.sess_lock, flags); sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha, @@ -5008,10 +5013,10 @@ static int __qlt_send_busy(struct scsi_qla_host *vha, ctio24->initiator_id[1] = atio->u.isp24.fcp_hdr.s_id[1]; ctio24->initiator_id[2] = atio->u.isp24.fcp_hdr.s_id[0]; ctio24->exchange_addr = atio->u.isp24.exchange_addr; - ctio24->u.status1.flags = (atio->u.isp24.attr << 9) | - cpu_to_le16( + temp = (atio->u.isp24.attr << 9) | CTIO7_FLAGS_STATUS_MODE_1 | CTIO7_FLAGS_SEND_STATUS | - CTIO7_FLAGS_DONT_RET_CTIO); + CTIO7_FLAGS_DONT_RET_CTIO; + ctio24->u.status1.flags = cpu_to_le16(temp); /* * CTIO from fw w/o se_cmd doesn't provide enough info to retry it, * if the explicit conformation is used. diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h index dadd9c81bd1d..de6b8c3a863e 100644 --- a/drivers/scsi/qla2xxx/qla_target.h +++ b/drivers/scsi/qla2xxx/qla_target.h @@ -426,7 +426,7 @@ struct ctio7_to_24xx { } status0; struct { uint16_t sense_length; - uint16_t flags; + __le16 flags; uint32_t residual; __le16 ox_id; uint16_t scsi_status;