From patchwork Sat Dec 24 04:23:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9487869 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 C3763604DE for ; Sat, 24 Dec 2016 04:24:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B20A925F3E for ; Sat, 24 Dec 2016 04:24:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A639C27829; Sat, 24 Dec 2016 04:24:09 +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 C537525F3E for ; Sat, 24 Dec 2016 04:24:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S941486AbcLXEYG (ORCPT ); Fri, 23 Dec 2016 23:24:06 -0500 Received: from mail-by2nam01on0057.outbound.protection.outlook.com ([104.47.34.57]:31824 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932841AbcLXEX4 (ORCPT ); Fri, 23 Dec 2016 23:23:56 -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=Wm+RjlAdlEIxy15yOkeBK7SPWZKjhEToNICL0UR6hjM=; b=Zqmm+OjYWI87zcYu0LpQFYe4siMLpwDmQRYxncz/Jq/Iin+7qZc59jGux2sTWqJMd3FK5e2LwCgv/JWQRfi9u3M+fJHmPLTLNqqG07+PBO+jMGcB8ROGmv0wwJhFR6vx6+rNnotCf+KRE1o4e89wZamL2aj8LJOf8uOFiepE/pk= Received: from BN6PR07CA0040.namprd07.prod.outlook.com (10.172.104.26) by BLUPR0701MB2082.namprd07.prod.outlook.com (10.163.122.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11; Sat, 24 Dec 2016 04:23:50 +0000 Received: from BL2FFO11FD012.protection.gbl (2a01:111:f400:7c09::103) by BN6PR07CA0040.outlook.office365.com (2603:10b6:404:a3::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11 via Frontend Transport; Sat, 24 Dec 2016 04:23:50 +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 BL2FFO11FD012.mail.protection.outlook.com (10.173.161.18) 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; Sat, 24 Dec 2016 04:23: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.309.2; Fri, 23 Dec 2016 20:23:40 -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 uBO4NeuW004158; Fri, 23 Dec 2016 20:23:40 -0800 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id uBO4NeZB004157; Fri, 23 Dec 2016 20:23:40 -0800 From: Himanshu Madhani To: , , , CC: , , Subject: [PATCH 03/11] qla2xxx: Make trace flags more readable. Date: Fri, 23 Dec 2016 20:23:31 -0800 Message-ID: <1482553419-4117-4-git-send-email-himanshu.madhani@cavium.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1482553419-4117-1-git-send-email-himanshu.madhani@cavium.com> References: <1482553419-4117-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)(979002)(6009001)(7916002)(39450400003)(2980300002)(428002)(189002)(199003)(50466002)(305945005)(2950100002)(356003)(50226002)(101416001)(107886002)(5660300001)(4720700003)(8936002)(626004)(81156014)(86362001)(2201001)(8676002)(81166006)(48376002)(6666003)(76176999)(92566002)(5001770100001)(80596001)(36756003)(39060400001)(42186005)(38730400001)(47776003)(50986999)(2906002)(5003940100001)(106466001)(69596002)(4326007)(105586002)(33646002)(189998001)(4001430100002)(87636001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB2082; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; PTR:50-232-66-26-static.hfc.comcastbusiness.net; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD012; 1:riyGUglgWNRen1ymEwHXVUAd5pkXcaEx796y2MD0qX9HWy6s+fm+hD+qRdvwHOmIpmXNmOXNYM/cdGi8cd+Btop76QzzgCmsxI/lImFaIfLcpZbMPI/gchNps5W4HwIBwFafc3jI+XM2yUQk43Cn+MqmBHBeeNTU/t7Bc7EKF1mI8/Z+9TSbX3D4rkALiwZPIpBRXFWSzDjZgYsD5q21rLY7ALVCE/909Fmhh5Jj9PKC9sGvwEj+Id4E3Kgc30hNynTCYfZiuVFXWPSXYgixj8pIVJYw7TkYSoWzOwHlGWM5qMxyJG2ccsFuoc4yuHyfXoouHuL8mb51ZKwujwVbjBv2jDQlMc3BOfC7JlT+f9zRBvwyA0UI1zRc8FyH0Ru6OuxcgCgqQMBnxq/W54dK1myzjsP/f6dLK25cv9uTAlU1M0ah12EcWNb5Pe7LCI3T/LDpRL8dGb9c9RFaLrQVpGnhkgryrXaZBZ8N8DPWfOSdkZqrdOsqn188xzygCBqpwlkJN0RSKeLHGmz+TpnhWNolhz+TPl4NnuVeSeW/MWlvJ53S8zXLB00kC62gPh/H X-MS-Office365-Filtering-Correlation-Id: 7f882829-ef7c-4645-eade-08d42bb4a99b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BLUPR0701MB2082; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2082; 3:0Dk3kT+ipnFMR/BU5T1ipgn9ESKYGA3RCJZ7AdEHb41iR8EDZwUwPgo6nrnSRYA9jOZb266zeIH+SzVxl5DKOW9wbLkwBgWSqmJiQBuDK/hagetf7xOnYsGmH5b4DoXEsx23JhEdXkuVwNmLfHBYj+PGXNmWG/lu3U/zKz8Io1LzRkj6MEiWJpP8TgrUz+KvLF9SzpDqKVbDkvgUigaqRQsaSETXUSr3Xv/9R+Xg6A4JjlqIyMj599N7Yb61daFtp8EplwTHHvOrJdZpOpD181RxnMPKVe+0rMbcRwcp8QtwR2dNQRtYBxb5JjuxGR2qvoAgWjOjBeMPO97D2FM1mnfr6bLvlYunohAuWtiZw+U=; 25:N/8ak0joMaFhYqBHNtaskLlsnv6FnMrLfFostK2GFiNd6yCIk5EamyUyGbQtLQ0aDSl9RDqJnuVLJaTA71NYYJ9UnctAPjtR05sEbEJ9c9yvGBzCUTdU74ke5qAMhYRIEc9NmTn3NeA7ApN3NL9TM9MVrjFDvm2hjMsDKvbs4ADSB00iHh4IW3rHhJF5TBSX4Je43ahEJDIyXAFq7IHP8K6QKy2xPPcEUWg2FkgIfx2EQBs62SjUtvvprr/AqkI4x+6j/PPGRYgq9gyQsvrPFRMyLVL8FAQZkHOq/tYnWAIoe/xHIZOJDxNgJ8c/QJT7dULsqTeRg4bRt45YNSHZcfAUrPX4QmbUPnJZg+g2gfoCrHMmO1nnkfyJ/qYvoeJmXGBRGid9CyaIP7jmJjZbvD/Cmjj6HuBML+nxn2m+ck8lsrSiRm6Auw/4CwsYn/SbtmFPg4YT0c2kYL526813pg== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2082; 31:dei48kpJQ18X9Zf+q2rd6t1W3Xt1SeQynyoHKI9COXvcoOzH3RBw2XVSot1ypxpZYaVsgaIshwd0C9lan+GjsyjI9fM1Yvisfi0uNhjBS8aZydm27GHb3Vknp6Ia66RSMb9eK+vAqmVC/igRGlFAn6/2i5hFM+IPuUCGmPgJ9SfJEGlHBNKViNFI79SuChHHGqaHyF11t+7vq3NwIrKlM8NU2c4+LS+0I9IWx/BoOL0mK+SdBhmRxnkVhuqASjWbXQvZQcjxMpEqIdClNhlorg==; 20:C+TJ5WkZH6MDn6SHY4mY7G+ToyZ0kjwY3V1CfSTQ1d6Bm0Nt2AiUTttpW/A93fQ7eOUEeAgW/f8VvA9aAWIvT4IddL6JbfdXEu3juNiaCtzWXMcGZudsamMt39nPbV5sf7R+CISe9TL4o3HVlhZJnzy7OsCLv/fOep0ZWWt5STo06PTXDyZ8k/1CPUDSJj+y2gM7iTgwNqJDk4qHRVEkFWKkz6f9KGf8eW7mKIx1myp7KDkjT9LeELc8y0xWrUd+CqpbQkrKpmx8Jpgtx1q2tmr7oU/MDA8j7nbyEXBhlcKZ+4YocYFEdBGP1+e+VMabGqHXj6oYnMR7nTlYYWD6y5OAdprrya0VzzdVyDbsxasT8RlEw9ungXoFgOYty2vlEv5/s2VgblrrKtjbB7j3nVPPOAdJK1p7KsSlSfVI/Elj9A2dkwHq5sfBAE4C7gxXGO4R1Nn7rwpu8YZzPn2qcuOPLsDSKbLLq4WoPpjVQyxJiBZed18scnUtdRfbJuaT X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13017025)(13024025)(13023025)(13015025)(13018025)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123560025)(20161123564025)(20161123562025)(20161123555025)(6072148); SRVR:BLUPR0701MB2082; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB2082; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2082; 4:Xmq6rdAF84bg6dbzDAJS9XHroBnF3i/xMeRblJ8dluAqsOjQtLTOo3h9GhSyXMEZhYI7LFRm+jS/MCLvgDv4v0eBNUvONLS+jMSQ/iWmUT1jHfb7rEKDjh4carlqWokwVwYoItvNsO7VRSytFPQFc6ln/affBgILePZu7YD4bKw9/GfZ6sd48DXKUtMudHXNMwA4REmA9IojUg0kuALI2xqWppM76o4STX0eB8yCV73ZHgQmgFiOERcdNEN5jwAXy9LPjdB0j/2JxQqxrTV0Z9lVyrxV2ejII2CAQIw6AWlKn0YvxSE7ZJv+sRyt0PoIz/XScFuoFLYMP55xm3vC7Hgzyhc2H1n9nLgu41r0V1FnbvDem2t49Fxp30vYR3NO5rU1kkRcpvifSj2Bafi06apbVrFY1bZONh9uNFtw660dsL5hRvBCWoRoBdrpKSJS+KDyZ5QO+E6gzzX41OH7/0d/ap0zbf2FYKC8sTDpb98CeSyn7u02DyhA/YS9e/KiBd9tH8JMcKN9ejaoORf7/H8EyTq+mhc/vyicXYeixia32L26UAYCGL5LXx7DvztFYEwFAymItyYpbAnP2+7OCnbA8Bakfwq73YU5uLnYj+dcViVmgE7OG6sBgiykd3BCx19YCpANBmEKqqROJNy6XllCIHRfK+uXeRIQizVVT34= X-Forefront-PRVS: 0166B75B74 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB2082; 23:NeFLUvVv+4P80LgsMdyNHVGRUbp1ZHkybrJ2vbp?= =?us-ascii?Q?T6NhRUJ94XdBpcJOL/C6+v+C+bNEmNzh7UajFYzJBQIOCJMpShhd/nsZ6G+N?= =?us-ascii?Q?7az8aBxfWrp8csdc+CtN+Q34s0Qgx5t5LKEicGUNqRncGst9t/yjLt18MAxc?= =?us-ascii?Q?ReOfnrMDzMbD68s6i5K1ADNjSsIBgk4xxHreDPK8HvR79dUaS+Cg0UI2D4Op?= =?us-ascii?Q?8kNwy+HTXIj4VhhH32JfEVYOhsKHvIm/ckUfqYLixzSkgKCv1oKyRg4khlQl?= =?us-ascii?Q?xpsKL36J3p5pDTuIIeawWfhtBTT4RAfAdRS67p+/TpwskQQT9CxoWnzNl4bM?= =?us-ascii?Q?GOMteoXyoXSupytQ61yUtYz7kmznfmT010tzyV28jlvTePp714LH9bde4JI3?= =?us-ascii?Q?hvO5UqcJJmncGRCslbQzBUerOi1N2WDxV+jChAVVGdtSJeI3TSp9nEHOqTVF?= =?us-ascii?Q?Rvyhvho/dG9sAfz54EQJImeDCGbicBb/3lbPkc9PDfQY65tTwPGXQkmWDoJf?= =?us-ascii?Q?NJvm6Ts9rygSU2HDXLdww9odol95+dOEBAyPu4WXcJZ/wk8qnUqhtXLq7EKC?= =?us-ascii?Q?B85ZrECz0YylFQS2FujLBwFhKjPjjwWUUxgmdGgXqAH0oqfobNIzjXLz6Zv6?= =?us-ascii?Q?jjjGiBM73ud1YcozXXZN2EPoLXIpZelWlURi1/RzF1n+/u/XlFMq0jMKVjYt?= =?us-ascii?Q?gyRkMnkTkVFZCWTwqP2NmXUPQe3F1yuqw0UaRTRWmis1uIiiGOI89TmyBf89?= =?us-ascii?Q?zjPyQdzedNeRJyCMI3KKl93DxZWKdKZQzg2j93yhiOU9aJHWNVwLTcanEMWe?= =?us-ascii?Q?qYfwEbIyzmeZeJoQj2E+HsVerRNRTETNIu7UTLqDxjX+vtKauPV8+5BGGNA3?= =?us-ascii?Q?vEEHzTkYFp0Ypdjh4bCJeAdSKMbWqBfHlPqZ634lgW5Bfh5Mg076akn5OU9n?= =?us-ascii?Q?ZR9GXBytUDStdqK9QZRFFxyJyZ+tZrumW0sF6l3Q4Zf1q89iD+kz8fyJL9gk?= =?us-ascii?Q?4Otaowidr91OvD7LjKwzQe15uv7dTG2tsVI7drUgqwAqSwlMqBT+Zoav3fmY?= =?us-ascii?Q?kJmdhOf/OEA4E9jzmLl32g47j3motSKsU823M/dEGhHjRpaIsGbo/G7Kdj1s?= =?us-ascii?Q?m2ePpIzolsqV+/aajcuZfeXwMGu45xbEJYmiuQNjTz2jcWVhK4Z0vWOoRKaz?= =?us-ascii?Q?y4PFc0FmV9zx6zuehj9kkMpvQJifk98ZabV3rGm/z71lMsQiWpsSReIp72w?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2082; 6:f95vkIxTp0H1CMu6IEbZ4qbtdIBSQZXpmo8uj7AyiJwGAEcl9KuI+DK7esejNIWDjjdfDSRTNukfLVlePQKne8leml1VjBAwR77XpR/gRQc+WN4jFGKsrI3Gk/ULdNfSeU0bZ7n90XgNoZ9Kemb3K7b8KWnFxHG7YfEUEeAoChWCCqEaP2fl8Ado2eFM7UNGUNBfc9T1WebNQQMnqx0Y1O53qILUXC+7OHak7QZiPuIZUGpwNN/W9qzpByKxH+4Cef7S35TRXqp1E60Rt9dv4TK1f6MEAtnyTSFlV5j0kfcLjSnaruJsLk7aCVZHKB2M/f29OnPjmOaBZQ8S3FneeisxiMLYWxLIGISj4KvfS7hA3EEcGXUCNu4A59tpuRAAgSFmaUjmvW6iV/po1Ow6l66CbQVRTmuSbTgt3p+OLRQ=; 5:9vPPZcP1q1lwWoPc9nptVRm8JbLNPHdiCO/H2wl25lMlh0MZYL7TYoKYZCbLTV9AnSPBHq6mDveiXBAeH0NmwHGxWHrqdUNkG1iPyGxcwxTt0yEFy34GssvIOI8d8hEuRrb58jS/tEPT+jbWFD6Ulw==; 24:VLjhEy3GHyP0gPMV6Y7rAy8be82WSObeC7yHsLKje7nafEGGL16LMaRaXcNhDxw0o/s8fm7Nac1ue0E+bLbzvRKRDkR2EMWX6tWO5zpMaK8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB2082; 7:aoijKbAnicfLd0hkfFJbWPOUfBLbLQOkQbQoS2GiS4qQawdiNCorsxyeh37PWnOb3IRSlwkaPWFF9OWzUSsbvxXx/fhklOs/+laNn4qj0CKb8zYviG0pCCM/sU7+M7bdHRSYaS1Hbc90Po9TuydNys/4VF1bT8a3s/T7hMKP9zn8dT39RKxFU5yWiO2zogx2zFNckZLdMWwafW8ajQPmbJlEYDWcJxzDXIBotJnMxoA9y7BLAke3eopLy4ZV940N8F7dsowRvWekXRgEL+OP75HVKGeyNJ6uNqF6oQBPcv/HmiWlrHjWPv3H7rOvBeZ64WP2lZAy1seOWRJsP7oXtFMO+O9d4UqZVA9hpwcW/UsH5LG8ID9TVNl+hKT65WG5aqwaD04glMVbQe772EU+XNELfPDi6rBN+2Vx3Dc0Lwyd2HEqhhd8xkXVz6aqit1ejVZJFMo0nPX+6fZx/jaAdg== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2016 04:23:50.1545 (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: BLUPR0701MB2082 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 This patch does not change any functionality. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_target.c | 27 +++++++++---------- drivers/scsi/qla2xxx/qla_target.h | 54 +++++++++++++++++--------------------- drivers/scsi/qla2xxx/tcm_qla2xxx.c | 35 ++++++++++++------------ 3 files changed, 54 insertions(+), 62 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index 6e58848..c9e6a8b 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -3294,7 +3294,6 @@ int qlt_abort_cmd(struct qla_tgt_cmd *cmd) return EIO; } cmd->aborted = 1; - cmd->cmd_flags |= BIT_6; spin_unlock_irqrestore(&cmd->cmd_lock, flags); qlt_send_term_exchange(vha, cmd, &cmd->atio, 0, 1); @@ -3342,7 +3341,7 @@ static int qlt_prepare_srr_ctio(struct scsi_qla_host *vha, struct qla_tgt_srr_imm *imm; tgt->ctio_srr_id++; - cmd->cmd_flags |= BIT_15; + cmd->trc_flags |= TRC_SRR_CTIO; ql_dbg(ql_dbg_tgt_mgt, vha, 0xf019, "qla_target(%d): CTIO with SRR status received\n", vha->vp_idx); @@ -3525,7 +3524,7 @@ static struct qla_tgt_cmd *qlt_ctio_to_cmd(struct scsi_qla_host *vha, dump_stack(); } - cmd->cmd_flags |= BIT_17; + cmd->trc_flags |= TRC_FLUSH; ha->tgt.tgt_ops->free_cmd(cmd); } @@ -3691,7 +3690,7 @@ static void qlt_do_ctio_completion(struct scsi_qla_host *vha, uint32_t handle, */ if ((cmd->state != QLA_TGT_STATE_NEED_DATA) && (!cmd->aborted)) { - cmd->cmd_flags |= BIT_13; + cmd->trc_flags |= TRC_CTIO_ERR; if (qlt_term_ctio_exchange(vha, ctio, cmd, status)) return; } @@ -3699,7 +3698,7 @@ static void qlt_do_ctio_completion(struct scsi_qla_host *vha, uint32_t handle, skip_term: if (cmd->state == QLA_TGT_STATE_PROCESSED) { - cmd->cmd_flags |= BIT_12; + cmd->trc_flags |= TRC_CTIO_DONE; } else if (cmd->state == QLA_TGT_STATE_NEED_DATA) { cmd->state = QLA_TGT_STATE_DATA_IN; @@ -3709,11 +3708,11 @@ static void qlt_do_ctio_completion(struct scsi_qla_host *vha, uint32_t handle, ha->tgt.tgt_ops->handle_data(cmd); return; } else if (cmd->aborted) { - cmd->cmd_flags |= BIT_18; + cmd->trc_flags |= TRC_CTIO_ABORTED; ql_dbg(ql_dbg_tgt_mgt, vha, 0xf01e, "Aborted command %p (tag %lld) finished\n", cmd, se_cmd->tag); } else { - cmd->cmd_flags |= BIT_19; + cmd->trc_flags |= TRC_CTIO_STRANGE; ql_dbg(ql_dbg_tgt_mgt, vha, 0xf05c, "qla_target(%d): A command in state (%d) should " "not return a CTIO complete\n", vha->vp_idx, cmd->state); @@ -3778,7 +3777,7 @@ static void __qlt_do_work(struct qla_tgt_cmd *cmd) int ret, fcp_task_attr, data_dir, bidi = 0; cmd->cmd_in_wq = 0; - cmd->cmd_flags |= BIT_1; + cmd->trc_flags |= TRC_DO_WORK; if (tgt->tgt_stop) goto out_term; @@ -3830,7 +3829,7 @@ static void __qlt_do_work(struct qla_tgt_cmd *cmd) * cmd has not sent to target yet, so pass NULL as the second * argument to qlt_send_term_exchange() and free the memory here. */ - cmd->cmd_flags |= BIT_2; + cmd->trc_flags |= TRC_DO_WORK_ERR; spin_lock_irqsave(&ha->hardware_lock, flags); qlt_send_term_exchange(vha, NULL, &cmd->atio, 1, 0); @@ -3881,7 +3880,7 @@ static struct qla_tgt_cmd *qlt_get_tag(scsi_qla_host_t *vha, cmd->loop_id = sess->loop_id; cmd->conf_compl_supported = sess->conf_compl_supported; - cmd->cmd_flags = 0; + cmd->trc_flags = 0; cmd->jiffies_at_alloc = get_jiffies_64(); cmd->reset_count = vha->hw->chip_reset; @@ -4017,7 +4016,7 @@ static int qlt_handle_cmd_for_atio(struct scsi_qla_host *vha, } cmd->cmd_in_wq = 1; - cmd->cmd_flags |= BIT_0; + cmd->trc_flags |= TRC_NEW_CMD; cmd->se_cmd.cpuid = ha->msix_count ? ha->tgt.rspq_vector_cpuid : WORK_CPU_UNBOUND; @@ -4709,7 +4708,7 @@ static void qlt_handle_srr(struct scsi_qla_host *vha, 0, 0, 0, NOTIFY_ACK_SRR_FLAGS_ACCEPT, 0, 0); spin_unlock_irqrestore(&ha->hardware_lock, flags); if (xmit_type & QLA_TGT_XMIT_DATA) { - cmd->cmd_flags |= BIT_8; + cmd->trc_flags |= TRC_SRR_XRDY; qlt_rdy_to_xfer(cmd); } } else { @@ -4728,7 +4727,7 @@ static void qlt_handle_srr(struct scsi_qla_host *vha, /* Transmit response in case of status and data-in cases */ if (resp) { - cmd->cmd_flags |= BIT_7; + cmd->trc_flags |= TRC_SRR_RSP; qlt_xmit_response(cmd, xmit_type, se_cmd->scsi_status); } @@ -4744,7 +4743,7 @@ static void qlt_handle_srr(struct scsi_qla_host *vha, cmd->state = QLA_TGT_STATE_DATA_IN; dump_stack(); } else { - cmd->cmd_flags |= BIT_9; + cmd->trc_flags |= TRC_SRR_TERM; qlt_send_term_exchange(vha, cmd, &cmd->atio, 1, 0); } spin_unlock_irqrestore(&ha->hardware_lock, flags); diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h index 14f2e24..f5fec62 100644 --- a/drivers/scsi/qla2xxx/qla_target.h +++ b/drivers/scsi/qla2xxx/qla_target.h @@ -965,35 +965,27 @@ struct qla_tgt_sess { qlt_plogi_ack_t *plogi_link[QLT_PLOGI_LINK_MAX]; }; -typedef enum { - /* - * BIT_0 - Atio Arrival / schedule to work - * BIT_1 - qlt_do_work - * BIT_2 - qlt_do work failed - * BIT_3 - xfer rdy/tcm_qla2xxx_write_pending - * BIT_4 - read respond/tcm_qla2xx_queue_data_in - * BIT_5 - status respond / tcm_qla2xx_queue_status - * BIT_6 - tcm request to abort/Term exchange. - * pre_xmit_response->qlt_send_term_exchange - * BIT_7 - SRR received (qlt_handle_srr->qlt_xmit_response) - * BIT_8 - SRR received (qlt_handle_srr->qlt_rdy_to_xfer) - * BIT_9 - SRR received (qla_handle_srr->qlt_send_term_exchange) - * BIT_10 - Data in - hanlde_data->tcm_qla2xxx_handle_data - - * BIT_12 - good completion - qlt_ctio_do_completion -->free_cmd - * BIT_13 - Bad completion - - * qlt_ctio_do_completion --> qlt_term_ctio_exchange - * BIT_14 - Back end data received/sent. - * BIT_15 - SRR prepare ctio - * BIT_16 - complete free - * BIT_17 - flush - qlt_abort_cmd_on_host_reset - * BIT_18 - completion w/abort status - * BIT_19 - completion w/unknown status - * BIT_20 - tcm_qla2xxx_free_cmd - */ - CMD_FLAG_DATA_WORK = BIT_11, - CMD_FLAG_DATA_WORK_FREE = BIT_21, -} cmd_flags_t; +enum trace_flags { + TRC_NEW_CMD = BIT_0, + TRC_DO_WORK = BIT_1, + TRC_DO_WORK_ERR = BIT_2, + TRC_XFR_RDY = BIT_3, + TRC_XMIT_DATA = BIT_4, + TRC_XMIT_STATUS = BIT_5, + TRC_SRR_RSP = BIT_6, + TRC_SRR_XRDY = BIT_7, + TRC_SRR_TERM = BIT_8, + TRC_SRR_CTIO = BIT_9, + TRC_FLUSH = BIT_10, + TRC_CTIO_ERR = BIT_11, + TRC_CTIO_DONE = BIT_12, + TRC_CTIO_ABORTED = BIT_13, + TRC_CTIO_STRANGE= BIT_14, + TRC_CMD_DONE = BIT_15, + TRC_CMD_CHK_STOP = BIT_16, + TRC_CMD_FREE = BIT_17, + TRC_DATA_IN = BIT_18, +}; struct qla_tgt_cmd { struct se_cmd se_cmd; @@ -1016,6 +1008,8 @@ struct qla_tgt_cmd { unsigned int cmd_sent_to_fw:1; unsigned int cmd_in_wq:1; unsigned int aborted:1; + unsigned int data_work:1; + unsigned int data_work_free:1; struct scatterlist *sg; /* cmd data buffer SG vector */ int sg_cnt; /* SG segments count */ @@ -1040,7 +1034,7 @@ struct qla_tgt_cmd { uint64_t jiffies_at_alloc; uint64_t jiffies_at_free; - cmd_flags_t cmd_flags; + enum trace_flags trc_flags; }; struct qla_tgt_sess_work_param { diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_qla2xxx.c index 183a459..5f6223b3 100644 --- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c +++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c @@ -282,10 +282,10 @@ static void tcm_qla2xxx_complete_free(struct work_struct *work) cmd->cmd_in_wq = 0; - WARN_ON(cmd->cmd_flags & BIT_16); + WARN_ON(cmd->trc_flags & TRC_CMD_FREE); cmd->vha->tgt_counters.qla_core_ret_sta_ctio++; - cmd->cmd_flags |= BIT_16; + cmd->trc_flags |= TRC_CMD_FREE; transport_generic_free_cmd(&cmd->se_cmd, 0); } @@ -299,8 +299,8 @@ static void tcm_qla2xxx_free_cmd(struct qla_tgt_cmd *cmd) cmd->vha->tgt_counters.core_qla_free_cmd++; cmd->cmd_in_wq = 1; - BUG_ON(cmd->cmd_flags & BIT_20); - cmd->cmd_flags |= BIT_20; + BUG_ON(cmd->trc_flags & TRC_CMD_DONE); + cmd->trc_flags |= TRC_CMD_DONE; INIT_WORK(&cmd->work, tcm_qla2xxx_complete_free); queue_work_on(smp_processor_id(), tcm_qla2xxx_free_wq, &cmd->work); @@ -315,7 +315,7 @@ static int tcm_qla2xxx_check_stop_free(struct se_cmd *se_cmd) if ((se_cmd->se_cmd_flags & SCF_SCSI_TMR_CDB) == 0) { cmd = container_of(se_cmd, struct qla_tgt_cmd, se_cmd); - cmd->cmd_flags |= BIT_14; + cmd->trc_flags |= TRC_CMD_CHK_STOP; } return target_put_sess_cmd(se_cmd); @@ -377,7 +377,7 @@ static int tcm_qla2xxx_write_pending(struct se_cmd *se_cmd) cmd->se_cmd.se_cmd_flags); return 0; } - cmd->cmd_flags |= BIT_3; + cmd->trc_flags |= TRC_XFR_RDY; cmd->bufflen = se_cmd->data_length; cmd->dma_data_direction = target_reverse_dma_direction(se_cmd); @@ -493,9 +493,9 @@ static void tcm_qla2xxx_handle_data_work(struct work_struct *work) cmd->cmd_in_wq = 0; spin_lock_irqsave(&cmd->cmd_lock, flags); - cmd->cmd_flags |= CMD_FLAG_DATA_WORK; + cmd->data_work = 1; if (cmd->aborted) { - cmd->cmd_flags |= CMD_FLAG_DATA_WORK_FREE; + cmd->data_work_free = 1; spin_unlock_irqrestore(&cmd->cmd_lock, flags); tcm_qla2xxx_free_cmd(cmd); @@ -532,7 +532,7 @@ static void tcm_qla2xxx_handle_data_work(struct work_struct *work) */ static void tcm_qla2xxx_handle_data(struct qla_tgt_cmd *cmd) { - cmd->cmd_flags |= BIT_10; + cmd->trc_flags |= TRC_DATA_IN; cmd->cmd_in_wq = 1; INIT_WORK(&cmd->work, tcm_qla2xxx_handle_data_work); queue_work_on(smp_processor_id(), tcm_qla2xxx_free_wq, &cmd->work); @@ -628,7 +628,7 @@ static int tcm_qla2xxx_queue_data_in(struct se_cmd *se_cmd) return 0; } - cmd->cmd_flags |= BIT_4; + cmd->trc_flags |= TRC_XMIT_DATA; cmd->bufflen = se_cmd->data_length; cmd->dma_data_direction = target_reverse_dma_direction(se_cmd); @@ -659,11 +659,11 @@ static int tcm_qla2xxx_queue_status(struct se_cmd *se_cmd) cmd->sg_cnt = 0; cmd->offset = 0; cmd->dma_data_direction = target_reverse_dma_direction(se_cmd); - if (cmd->cmd_flags & BIT_5) { - pr_crit("Bit_5 already set for cmd = %p.\n", cmd); + if (cmd->trc_flags & TRC_XMIT_STATUS) { + pr_crit("Multiple calls for status = %p.\n", cmd); dump_stack(); } - cmd->cmd_flags |= BIT_5; + cmd->trc_flags |= TRC_XMIT_STATUS; if (se_cmd->data_direction == DMA_FROM_DEVICE) { /* @@ -720,9 +720,8 @@ static void tcm_qla2xxx_queue_tm_rsp(struct se_cmd *se_cmd) } -#define DATA_WORK_NOT_FREE(_flags) \ - (( _flags & (CMD_FLAG_DATA_WORK|CMD_FLAG_DATA_WORK_FREE)) == \ - CMD_FLAG_DATA_WORK) +#define DATA_WORK_NOT_FREE(_cmd) (_cmd->data_work && !_cmd->data_work_free) + static void tcm_qla2xxx_aborted_task(struct se_cmd *se_cmd) { struct qla_tgt_cmd *cmd = container_of(se_cmd, @@ -735,9 +734,9 @@ static void tcm_qla2xxx_aborted_task(struct se_cmd *se_cmd) spin_lock_irqsave(&cmd->cmd_lock, flags); if ((cmd->state == QLA_TGT_STATE_NEW)|| ((cmd->state == QLA_TGT_STATE_DATA_IN) && - DATA_WORK_NOT_FREE(cmd->cmd_flags)) ) { + DATA_WORK_NOT_FREE(cmd)) ) { - cmd->cmd_flags |= CMD_FLAG_DATA_WORK_FREE; + cmd->data_work_free = 1; spin_unlock_irqrestore(&cmd->cmd_lock, flags); /* Cmd have not reached firmware. * Use this trigger to free it. */