From patchwork Tue May 18 05:16:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suganath Prabu S X-Patchwork-Id: 441607 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MIME_NO_TEXT, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD23AC433ED for ; Tue, 18 May 2021 05:17:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 91223611BD for ; Tue, 18 May 2021 05:17:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241456AbhERFSd (ORCPT ); Tue, 18 May 2021 01:18:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42160 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240631AbhERFS1 (ORCPT ); Tue, 18 May 2021 01:18:27 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C6B4C061756 for ; Mon, 17 May 2021 22:16:39 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id g6-20020a17090adac6b029015d1a9a6f1aso1102948pjx.1 for ; Mon, 17 May 2021 22:16:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:mime-version; bh=ESfLlSpw3dD1OkY5qIquniVN61DIZKW/knPHUYIzoMw=; b=hzNNKmtN+/4zIDs5y07SCQ4tlqjgvw+DVU1l/2F3P80k88zxYSWVr4OYyT7g9LmwB0 ZPakfUAEe2J5ySpv8m6Ek7fPwzC4FE8EZgxQ2EGnOdctSTKaxJnc3Pd5oa2AXBwllIrf 89LOwL0lw0qhRst45A/J1chbuLNiswfKkvVXI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version; bh=ESfLlSpw3dD1OkY5qIquniVN61DIZKW/knPHUYIzoMw=; b=Rbopqw6480m1rdzIaPU4Jq+jM6cIsNTf9DFRrzReb+uVDMcQ35QR7ZcgAkoxazCdjU yjkKiAc+DbTK4k4SNeRnoP6RMsqj/NzOXIce7N3NpqfLj8NsgJc85SvpvLU4hhBix4Ny tS3/WiHCWb+r2aOUKh5Z73tSRjhrjhlpkIArmxbBNqvjvWnsS64RaGRU/TsNQYx9hL3Z pvE/koBkDBOPZigt6zJ/aKrc+fJSTw/tWC95Yhsdzc0QHWREeXt17SQJFiF7TENC3lt/ d2qIkMlUCVasjpE93e218Ee/W5DxxqnQyNSgU/9Wr4mqpIu1FEjUbtVmzMWIkZqBzhOR /a8g== X-Gm-Message-State: AOAM533X5D0P8GkfnPM1YvkRJ93HElnZdQm+Zkqq3QSPmVoI6PWEL0jz TsKu3JKx+kTdLiRraLGMLchNO4BxZpTw/ruNvE0FJML2t0Xuz+N9AnOKlBrcQ4E28f16zF1eDA/ qcFBHj14iSgeH1C2NRWyapqZnv/WAeeJETwoaCVNMU3US7qcvhdP4WgW+TMHW15HnB/PBUgZ+Yp o30pNt0VF6/c9vcXd1rEcR X-Google-Smtp-Source: ABdhPJx0NXJb5wEU4G7PP/w6rpUDbvlAVHGy4moEr2i0qdxwN/seln2LbKMXdkev7Blo5vHsnvqELA== X-Received: by 2002:a17:90b:f0e:: with SMTP id br14mr3136799pjb.121.1621314997754; Mon, 17 May 2021 22:16:37 -0700 (PDT) Received: from dhcp-10-123-20-76.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id hk15sm437556pjb.53.2021.05.17.22.16.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 May 2021 22:16:36 -0700 (PDT) From: Suganath Prabu S To: linux-scsi@vger.kernel.org, martin.petersen@oracle.com Cc: Sathya.Prakash@broadcom.com, sreekanth.reddy@broadcom.com, Suganath Prabu S Subject: [Patch 0/3] Gracefully handle FW faults during HBA initialization Date: Tue, 18 May 2021 10:46:22 +0530 Message-Id: <20210518051625.1596742-1-suganath-prabu.subramani@broadcom.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org During IOC initialization driver may observe some firmware faults. Currently the driver is not handling the firmware faults gracefully, most of the time the driver is terminating the IOC initialization without trying to recover the IOC from the fault. Instead of terminating the IOC initialization, driver has to try to recover the IOC at least for one time before terminating the IOC initialization. Suganath Prabu S (3): mpt3sas: Fix deadlock while cancelling the running FW event mpt3sas: Handle FW faults during first half of IOC init mpt3sas: Handle FWfault while second half of IOC Init drivers/scsi/mpt3sas/mpt3sas_base.c | 261 ++++++++++++++++++-------- drivers/scsi/mpt3sas/mpt3sas_base.h | 8 + drivers/scsi/mpt3sas/mpt3sas_config.c | 18 +- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 174 +++++++++++++++-- 4 files changed, 368 insertions(+), 93 deletions(-)