Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp28377pxb; Tue, 12 Apr 2022 15:53:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz5+cMSxB/WxUW3eflzchrkDqRGKqZCbTX+HjSIEMbLOb9qMjoWFtmF43tZdHcsSSLKueeh X-Received: by 2002:a05:6a00:8c9:b0:4fe:ecc:9bcd with SMTP id s9-20020a056a0008c900b004fe0ecc9bcdmr6778892pfu.34.1649804001415; Tue, 12 Apr 2022 15:53:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649804001; cv=none; d=google.com; s=arc-20160816; b=VbvYsa4F83Dxgosv8Si1HEDsWfhKBuTiyKFIAyip8ZkGcjckd9UdZiQ8r02TBu7xg0 YEQjhMmvqROCLOd06ZQDurgpiG3Cwz+gSQKRa6LWyVxLuGh5txRNyeW6wam1/ilo7XHB q20nbnZHxTkK2f8m6Lh+TJtXVW0dtL6ZpQkfDow+kp08wET4nOfq5e0aWy6+HK78Eu0N 63ToIiCuN11+GmXsSjaaW3rxj/znTDaKYxemTc9/QkWo7V4u6VGU+B/3m1yMP9VEC9xi rg5AMIBzwvLCxFor7wW1LzuqOjocuOXoOp53sbb24bjJI2jAJ0Dx6QTQorLzZn3fx6xn 4lHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=NHASGf6jb2pdk+Tc/tfCZ4drpVDQgbsp9YeWLlNMzLw=; b=NdrLRGAFtKpR38Kbi2PurbIm1oCoXUZamx18OrrKaXz8M+MVpJUx29Pq1YGXst0wjB zuYAdoUFIm8MLwV3Kvr8rTawCOfMAJdzxptDZBVft9kVeQPQbyaOMW3E5nlTVRx8hXli EgVH/GlJ5BRHONxAtRgSnGPzg7gyc5yGiPBZtM8rndNPmS8ZSeOs3lPbZPBG8pDgPGzA xgmusSjmvgyTC6Xc4vApUpMSBtlmYlWQuLuQ7r+Tu+2GD/K3zZT15KDj88CfCGehBKH5 2Q9v1Qi0xhq+RTnJE/pffcIkiMztp1eoGB3aoQecqYH1ODhdwXH8kZyFGFle7pAKs+4o UScg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=HMmD4RYp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id c4-20020a62e804000000b004fe52f14401si11948849pfi.372.2022.04.12.15.53.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 15:53:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=HMmD4RYp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 22A3375E43; Tue, 12 Apr 2022 14:35:01 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1383443AbiDLIhB (ORCPT + 99 others); Tue, 12 Apr 2022 04:37:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48716 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356564AbiDLHi7 (ORCPT ); Tue, 12 Apr 2022 03:38:59 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6201D51E7A; Tue, 12 Apr 2022 00:09:51 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id C3E69B81895; Tue, 12 Apr 2022 07:09:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1DDC7C385A1; Tue, 12 Apr 2022 07:09:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649747388; bh=bWbmMtCwHDj7WBYZ7MqbFUn8n+43IBiBL0oK60/Kaac=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HMmD4RYpWx98hxu+iNxAY4G898m1R1d++ziNHP3HVFgMZoAM9T0jP2GYdVDkkuz+8 TWoXDMdu0oGF0TaVmSMK7+e02Ul7STx5EoVqH11uPulGoCL4psgXHJdIN2Y8GBgCUa y+upIq3aETTVMkECZMGtbCOLA58p0Ys8UwbRBkSE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kevin Barnett , Scott Benesh , Scott Teel , Mahesh Rajashekhara , Don Brace , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 5.17 059/343] scsi: smartpqi: Fix kdump issue when controller is locked up Date: Tue, 12 Apr 2022 08:27:57 +0200 Message-Id: <20220412062952.806610574@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220412062951.095765152@linuxfoundation.org> References: <20220412062951.095765152@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mahesh Rajashekhara [ Upstream commit 3ada501d602abf02353445c03bb3258146445d90 ] Avoid dropping into shell if the controller is in locked up state. Driver issues SIS soft reset to bring back the controller to SIS mode while OS boots into kdump mode. If the controller is in lockup state, SIS soft reset does not work. Since the controller lockup code has not been cleared, driver considers the firmware is no longer up and running. Driver returns back an error code to OS and the kdump fails. Link: https://lore.kernel.org/r/164375212337.440833.11955356190354940369.stgit@brunhilda.pdev.net Reviewed-by: Kevin Barnett Reviewed-by: Scott Benesh Reviewed-by: Scott Teel Signed-off-by: Mahesh Rajashekhara Signed-off-by: Don Brace Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/smartpqi/smartpqi_init.c | 39 ++++++++++++++++----------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index 2db9f874cc51..f3749e508673 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -7855,6 +7855,21 @@ static int pqi_force_sis_mode(struct pqi_ctrl_info *ctrl_info) return pqi_revert_to_sis_mode(ctrl_info); } +static void pqi_perform_lockup_action(void) +{ + switch (pqi_lockup_action) { + case PANIC: + panic("FATAL: Smart Family Controller lockup detected"); + break; + case REBOOT: + emergency_restart(); + break; + case NONE: + default: + break; + } +} + static int pqi_ctrl_init(struct pqi_ctrl_info *ctrl_info) { int rc; @@ -7879,8 +7894,15 @@ static int pqi_ctrl_init(struct pqi_ctrl_info *ctrl_info) * commands. */ rc = sis_wait_for_ctrl_ready(ctrl_info); - if (rc) + if (rc) { + if (reset_devices) { + dev_err(&ctrl_info->pci_dev->dev, + "kdump init failed with error %d\n", rc); + pqi_lockup_action = REBOOT; + pqi_perform_lockup_action(); + } return rc; + } /* * Get the controller properties. This allows us to determine @@ -8605,21 +8627,6 @@ static int pqi_ofa_ctrl_restart(struct pqi_ctrl_info *ctrl_info, unsigned int de return pqi_ctrl_init_resume(ctrl_info); } -static void pqi_perform_lockup_action(void) -{ - switch (pqi_lockup_action) { - case PANIC: - panic("FATAL: Smart Family Controller lockup detected"); - break; - case REBOOT: - emergency_restart(); - break; - case NONE: - default: - break; - } -} - static struct pqi_raid_error_info pqi_ctrl_offline_raid_error_info = { .data_out_result = PQI_DATA_IN_OUT_HARDWARE_ERROR, .status = SAM_STAT_CHECK_CONDITION, -- 2.35.1