From patchwork Fri Nov 4 16:33:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9413123 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 6C86A6022E for ; Fri, 4 Nov 2016 19:07:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5E07C2B192 for ; Fri, 4 Nov 2016 19:07:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 52C9A2B1D6; Fri, 4 Nov 2016 19:07:02 +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 D29962B192 for ; Fri, 4 Nov 2016 19:07:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935546AbcKDTHB (ORCPT ); Fri, 4 Nov 2016 15:07:01 -0400 Received: from mail-bl2nam02on0041.outbound.protection.outlook.com ([104.47.38.41]:65334 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932299AbcKDTHA (ORCPT ); Fri, 4 Nov 2016 15:07:00 -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=W9jZE2SSefinF1acbVokZRixOKafOdLFjgrG1aK5n4w=; b=gGeDViTDyElvtTwJl9u2JzrKGIiCO7uoCviSVSZSoUpmmDWl4SnjH0Uz3+d7gCYhyucNG6s1KHLEHnpcvVdog0y/VKYKL0SmFZBbZ0HOnuDlLBymQdmuwWM7U2Vbnq5rLvxyosUefTTzJOu9BBnMR0NmSAfQTijUXLHQZXrf5XM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Himanshu.Madhani@cavium.com; Received: from cavium.com (173.186.134.106) by CY1PR0701MB1835.namprd07.prod.outlook.com (10.163.42.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6; Fri, 4 Nov 2016 16:33:41 +0000 From: To: CC: , Subject: [PATCH 1/4] qla2xxx: Only allow operational MBX to proceed during RESET. Date: Fri, 4 Nov 2016 09:33:30 -0700 Message-ID: <1478277213-3848-2-git-send-email-himanshu.madhani@cavium.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1478277213-3848-1-git-send-email-himanshu.madhani@cavium.com> References: <1478277213-3848-1-git-send-email-himanshu.madhani@cavium.com> MIME-Version: 1.0 X-Originating-IP: [173.186.134.106] X-ClientProxiedBy: BY1PR13CA0031.namprd13.prod.outlook.com (10.162.107.169) To CY1PR0701MB1835.namprd07.prod.outlook.com (10.163.42.156) X-MS-Office365-Filtering-Correlation-Id: b98f9f72-f59c-488d-73a1-08d404d0568b X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1835; 2:qhmR7LWz7rMNPEsTWumJ8DsVSfuQXkqJYuWAU7xWVI4O+xzCPJXdDVCAlmevY1kcoZYuf2M6PpzuV8zjt8z5IU5+V2SJR+zD4d7m6WG0K2XHBF2CLcZAfxrRhXnwHeWUgqDNFHRZMnWfZsgQ4udF95udX/Xzo8VqZ/TF/iyes+aBjIRmUfpEW3a6WNma7Y2iHuS6aaU03SAFxBT2Dhbcng==; 3:BHNpy4NxKPsNRhDYG5wkFgs/0aewwapK6kwgdYzjz187RQNUbJ8SS5SECf8L6Spzcb6sgfpylXgBPhOMPS6H1hGrJLOZ9KAkgd5IjBGZMEOaj/hLeUnKiYLe1nD9P6UQL/s7jnmTl5Ma7tKqT6aFhA==; 25:7PcVUPhWG7SYb3J8K7rnI1d+ztiWZksSeOTInsjEBDzwchEyc7/hhM6LGhdrlkl7Fg90yMi7zJyL+36gP0EmSYGqImYFiX7oHkv3HlreMEz7jI/yeIw+ApK9M3T5nVxuV6cXoTp/yhsaPQ3aKFD0nMVEFG/Hv9CgqO6wntNOP+VN3Yys0+oW+3Yw/T0Tn3a21v18T970gtrOTcABPHDSC8HcVVRDtDwXE2nnrSehhqCh3MoXoPU0eSAe2yCxy+WZ4X/rZFAHazOA1RLXwfi0uQ+bKmINvEhpC3yU3qPH3JR+cPUrC+/mPevOaGNuaa8b9tkrYT3INzaGHBIzotgZSXdmyaOQsCBy3/MrxO/SH7n4VKSF7vvw6swCpZqtrzv+fGzBqBVYfSPE5DpY5vlZNp7MYAuMGI6fK5cPkAZuLy4= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1835; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1835; 31:LpGyZWGXJ4qQLfxNAGc5OGTHNWPOt5lfVxZnwF90nzekiKHCW6BjeLohkw2IkkXZvOSYY5WnLw3qe68grwNPhyBo9PHHK2TPs3xsYMyIY3fNeG79nKd1Db0MQwpRjalW5fcCqReCsz0GzDacst0f/LpNrKQIvq40fekDuoaDQpP3Hlzdzj7xEn4xqfX2BAXxS9f//3uX5BlB72qnHkzSz4urKWb7T8fWkTp+IkiIFi9ZQlF8QMTzMj9BlmpgSW67; 20:fZ4GRgiM+1stje1yGxmyAdricioqTg0bsPo5vF5y+NtGGvSrNwMn4xNE64HN0sk6mBD4CprGGxNOgO2hp8UhFSq59FaBObvw0ciwv7wjL5zR9RV9mfS0kuDLvrrZKnbEYjqdp/Z7iQpCcSDbO2jzitaUn/r/vvc8BzNyJEDn1hVln4sY/77EFDgPLMXZlGXrdAyAOLi5OPmrBsX4uoJ3Nl0DbdOMeZLvVLF1Tr5gjxLPDVj5jTIkIZ/iWL45wzCSTRHaB21vbp9UGbogo6tPdEtJG3LgTybiGeL8hi8GA8TZP5rxJYAjE+QG2raujBDDgcfxkU+exE5S0lZOe3jsAbI26ambZElxsT6UYAkszeMd9YujNdHhtIhMajTTl/+2Yn8sLzDcrS3RwN7OAnXo1dWDdo7TvAoEo3sDV3AyvnieDYoMB75Ims/ZHJfjPkhn4ezGI1VVUl3VIws7x2BzrKIk0za7oUL6JemU57BjQjm59bbWsKz9fxsypLS/SXlZ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); SRVR:CY1PR0701MB1835; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1835; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1835; 4:OMjoaMBllUk3JG2tK4r7gpbMXfd73wW/8dmyEe6ClF9CfXufAMNfL/0glkwE1BOss0EsORPmIHAGP5kIdzHWmSAq2cz91Y6hA6hb4fdIhKFqKlfN5bnOlnOYuTx9g17OusHGpsRH/sc5DzjwutUIZmNk6ATZUquZ9GRf6cj28TQMBWv5Hrj2vpYLRs8gEHh37C7SAIexiUgrmYGFEbwuBH6Lzk25B9PwNwxuyosgIUE7IZI9IoSVHsl87gxG4jSu1F7PJOc86kqwp5jeaSUU/rSogvh9FMacP/TvTQoX0UkaEgBdlue4pT9PCu6dIu0oEfgri2mq7dErrvBuWGtJLJf3UDUF3cF6lx/HyiRKLbmleJBo16kUR7aS50AZEwqaTSCW8l6I8XRmn+asmO+y4w== X-Forefront-PRVS: 01165471DB X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(199003)(47776003)(50226002)(2876002)(86362001)(106356001)(2351001)(229853001)(4326007)(105586002)(48376002)(86152002)(77096005)(50466002)(97736004)(110136003)(21086003)(92566002)(19580405001)(5660300001)(6116002)(69596002)(19580395003)(50986999)(5003940100001)(7846002)(7736002)(101416001)(36756003)(8676002)(81156014)(33646002)(42186005)(4720700003)(81166006)(586003)(189998001)(68736007)(6916009)(2906002)(3846002)(305945005)(76176999)(66066001)(2950100002)(6666003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1835; H:cavium.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0701MB1835; 23:SyvT7ttpRWYGtBID1wfC5bLjO2EO8X5/+uHFbYl?= =?us-ascii?Q?XoWFB4cKWTp5bz4lkwBXcgUCzteYUsoqRbWcXNmGg7WhIumtOMiJwDUDWbwE?= =?us-ascii?Q?QX1V6MhkNqhPGc09IiwYFCQjKZZtqQ7aqxC4Kp4w4lCc4xTZ9pwMviT4Lw5T?= =?us-ascii?Q?JGEnc4xuuyCagJ1830xH/1uRTYfPDeXUWqJ9LeiPzqfJrLvQj+Ub2dGH76Wr?= =?us-ascii?Q?nZ+qpDFuS9mxk5DI2ku6GqsJb4/QCPnge3rH4Sp9bqt/CPId/IDgW/HOgPVv?= =?us-ascii?Q?ZeMe1PlKkFsP+pMbtqwBk+ZS0ZaWP3pNc+tOBWD1JLpNlgeoytqhZtapbIA6?= =?us-ascii?Q?vdNWfif+5XMfx1m+PjZxK7KUzAG9mo8uzU2ptFbQ+E9j3uFUCsgmzCOxbZ9U?= =?us-ascii?Q?TyGpa68Bi8myXWHPQV+3qKrqEsOMxvKVdzgEeMusEbjnAGDVNuMZYlWJYOBY?= =?us-ascii?Q?IG/x32K4MXpbZae7y+tY3h0eSvrskJdcnrewYNOhVDnUh3QCvmzvwYPIKP52?= =?us-ascii?Q?qcoRWFaY6hjDMpwRRw5FatGwLOkD/RhFfH7/x1Qqv/zZaKr1KRYI6T8ezMiS?= =?us-ascii?Q?Kt+XFW1l+06V4wJiK6+AkjPF9YD7sVvlra3lkQpx23Nh9qkuXlTJZAX+igMm?= =?us-ascii?Q?a7nKTC5EmMCeAuF32CHmuc5zzvUoAjq+kkzPZEJ+QcRSlOfInrusJHQyIoYn?= =?us-ascii?Q?5h/3Z1T1nHYaPCxrGy8iCDu9/Awi8hQ7J/OWE97l6iTdyrmL1qlB3xZYXV7B?= =?us-ascii?Q?+a9RCUmd9sbAz6IhghxyyZ/Goyv0Mvk1dVUqjDFx7aPDmBhD3iVlZf4UrqfI?= =?us-ascii?Q?32OMN5a8i1eyMcEpPo6YNXJeBb01Ft0HsvaYIa7lUZAfdN68NTEsZYbY4/Za?= =?us-ascii?Q?G/TJtsP1v050oEzlMFsPxwKXGmRp4LfMVz/5KsDJwB3Vj9hTQncqkh8qcHJi?= =?us-ascii?Q?W8Y2R7JvElignem3toteKwBWRBbuize5+NSBw+GeNuuiN5KNvCTcs1j9LbdD?= =?us-ascii?Q?IdhUNpytXEGZPmKHauNcFEIvWKO6PDGa186Vgh+Q4UCvk/EGpUt3xN4HjAKM?= =?us-ascii?Q?GSNw5bJ8Lte4Z7cIIQGZnH5QOM2zaMYW347HeqXoN30SFJGCkVvbGeIXCcwk?= =?us-ascii?Q?7FnW3ixNlBjDBcI9DgkjO3qtIO07fPFFRu7lPECLyck1GdKPxBaCl7jSAkat?= =?us-ascii?Q?YhJJTdFyiscxOBgJSZX+lep+CSWFKhXTLrZ4fYfBmZu+mU/YgZpIODuhpDcx?= =?us-ascii?Q?8qWkIi/3ZhPaDzhpoUbw=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1835; 6:ZCdH5fTTqD9H9cSpQvYqftZhlDK6nsm5g6kDuDIbPPVKTQYLcsnbKKaqCU/7a4y/ckbRNb2JUxgedrovnysrVOdOg5sXwLoqVJ8mQ+JzliGd3O7OKvOjM1+mxotGQ6jrR32nCbFuXMk9ddNqaH0VAo/Vq5Zuka0lxhT1CX0He/cI6q4qyE/ZZE3uYml1hVtevsG1W8aDWKdjMfzoL9mORf68Gm6+FMbq3EXWMqujxqwYw1GuINpcvpsRPdsuNEmQi9wCYnvLw7pLP1dz0lTNYzoklE1cjGTlbRj4b9KZzWjfmchzeMQW2M2OFB+Z/XFJ; 5:tpiV74vemeawLYwcqc7T7S7k8ZghZunqRwwqCXPA7vM2vb7Dg5PcOIFabUZD1tRI17U8gIQg179WM914wf7ZhG4DnRGDC9Bw+MKFRiZNCzYY1oP5QMD3rFKZHVRrJOa7YTttKKiW+Jh+ZdAUXrFolg==; 24:HbeNz5b8SzQLkseAVKC/6WAFr0oo35+JFgqIfwrJHZi3TQKjSTy7t6vxv9r4OCPF7TRwFIeVMh9zpaO/+X0SBRMC6//Rx85xm2D1KDTnyGQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1835; 7:Hre3BB3OZMFlyoJGXzRF5US3lCtOQ/AZUlGShQeKczKUjMk9Hg5crRwswnIE/92OeMMksyPNb4vvPgP+Lzkz4HmFteQqjHbGx8ymcDFqNiHlA6FudTDZX1WD5WZY0SjeWovcrTg8dJxbXzu18R6hqZKq6J84yv3GdmqFiqRnFjDOt/LHhLEac1yknP+/qed/2IB7a2N8NJhsVjwvxVIxVADspmEbPX1FNbafnr/oz96HGtjBNV1+BEGwrZCYLpePm6wr0TWHTOjcrXCNexwktNKTfpVfVKkr+0PAee1YZAQtZ+y5QjukHuo+uveWYbrY7QUHuUS3VTz80hXPRHkAntpkpeTfjaxzowuzmG+KXco= X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2016 16:33:41.6029 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1835 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: Himanshu Madhani Signed-off-by: Himanshu Madhani Signed-off-by: Giridhar Malavali --- drivers/scsi/qla2xxx/qla_mbx.c | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 23698c9..b31c36b 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c @@ -10,6 +10,43 @@ #include #include +struct rom_cmd { + uint16_t cmd; +} rom_cmds[] = { + { MBC_LOAD_RAM }, + { MBC_EXECUTE_FIRMWARE }, + { MBC_READ_RAM_WORD }, + { MBC_MAILBOX_REGISTER_TEST }, + { MBC_VERIFY_CHECKSUM }, + { MBC_GET_FIRMWARE_VERSION }, + { MBC_LOAD_RISC_RAM }, + { MBC_DUMP_RISC_RAM }, + { MBC_LOAD_RISC_RAM_EXTENDED }, + { MBC_DUMP_RISC_RAM_EXTENDED }, + { MBC_WRITE_RAM_WORD_EXTENDED }, + { MBC_READ_RAM_EXTENDED }, + { MBC_GET_RESOURCE_COUNTS }, + { MBC_SET_FIRMWARE_OPTION }, + { MBC_MID_INITIALIZE_FIRMWARE }, + { MBC_GET_FIRMWARE_STATE }, + { MBC_GET_MEM_OFFLOAD_CNTRL_STAT }, + { MBC_GET_RETRY_COUNT }, + { MBC_TRACE_CONTROL }, +}; + +static int is_rom_cmd(uint16_t cmd) +{ + int i; + struct rom_cmd *wc; + + for (i = 0; i < ARRAY_SIZE(rom_cmds); i++) { + wc = rom_cmds + i; + if (wc->cmd == cmd) + return 1; + } + + return 0; +} /* * qla2x00_mailbox_command @@ -92,6 +129,17 @@ return QLA_FUNCTION_TIMEOUT; } + /* check if ISP abort is active and return cmd with timeout */ + if ((test_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags) || + test_bit(ISP_ABORT_RETRY, &base_vha->dpc_flags) || + test_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags)) && + !is_rom_cmd(mcp->mb[0])) { + ql_log(ql_log_info, vha, 0x1005, + "Cmd 0x%x aborted with timeout since ISP Abort is pending\n", + mcp->mb[0]); + return QLA_FUNCTION_TIMEOUT; + } + /* * Wait for active mailbox commands to finish by waiting at most tov * seconds. This is to serialize actual issuing of mailbox cmds during @@ -178,6 +226,7 @@ WRT_REG_WORD(®->isp.hccr, HCCR_SET_HOST_INT); spin_unlock_irqrestore(&ha->hardware_lock, flags); + wait_time = jiffies; if (!wait_for_completion_timeout(&ha->mbx_intr_comp, mcp->tov * HZ)) { ql_dbg(ql_dbg_mbx, vha, 0x117a, @@ -186,6 +235,9 @@ clear_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags); spin_unlock_irqrestore(&ha->hardware_lock, flags); } + if (time_after(jiffies, wait_time + 5 * HZ)) + ql_log(ql_log_warn, vha, 0x1015, "cmd=0x%x, waited %d msecs\n", + command, jiffies_to_msecs(jiffies - wait_time)); } else { ql_dbg(ql_dbg_mbx, vha, 0x1011, "Cmd=%x Polling Mode.\n", command);