From patchwork Mon May 3 05:21:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kalesh A P X-Patchwork-Id: 92626 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4BD54A0524; Mon, 3 May 2021 07:00:11 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D79F040150; Mon, 3 May 2021 07:00:10 +0200 (CEST) Received: from relay.smtp-ext.broadcom.com (relay.smtp-ext.broadcom.com [192.19.11.229]) by mails.dpdk.org (Postfix) with ESMTP id B3CED40142 for ; Mon, 3 May 2021 07:00:08 +0200 (CEST) Received: from dhcp-10-123-153-22.dhcp.broadcom.net (bgccx-dev-host-lnx2.bec.broadcom.net [10.123.153.22]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id D41DF828B; Sun, 2 May 2021 22:00:06 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com D41DF828B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1620018007; bh=yCb2A7+MZBwDzIbaSXbfW/6N3md7rbS29hrYwBg1WXk=; h=From:To:Cc:Subject:Date:From; b=URxhEpYinHR0Pt5DWd/8kh8oaGwhCuePWrlq5Z7o9BhJctwqEOrArJsnWYdcrzOat rZgF3fHATuMFJHVydRORBvWtVTbcUZA2xIpkQ1fAQtm0Koo+Z9If3VtzIjTuQKAzQJ dqWNr+z65l8evUwEiMnJHQm/wEG2dx25WyWW/7AI= From: Kalesh A P To: dev@dpdk.org Cc: ferruh.yigit@intel.com, ajit.khaparde@broadcom.com Date: Mon, 3 May 2021 10:51:50 +0530 Message-Id: <20210503052150.29189-1-kalesh-anakkur.purayil@broadcom.com> X-Mailer: git-send-email 2.10.1 Subject: [dpdk-dev] [PATCH] net/bnxt: fix to prevent device access in error state X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Kalesh AP Driver should prevent any DMA with the device when it detects an error. When firmware is in fatal state, stop tx/rx by assigning them to dummy functions. Fixes: be14720def9c ("net/bnxt: support FW reset") Fixes: 9d0cbaecc91a ("net/bnxt: support periodic FW health monitoring") Cc: stable@dpdk.org Signed-off-by: Kalesh AP Reviewed-by: Somnath Kotur Reviewed-by: Andy Gospodarek --- drivers/net/bnxt/bnxt_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 719eb68..822853a 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -4275,6 +4275,8 @@ static void bnxt_check_fw_health(void *arg) bp->flags |= BNXT_FLAG_FATAL_ERROR; bp->flags |= BNXT_FLAG_FW_RESET; + bnxt_stop_rxtx(bp); + PMD_DRV_LOG(ERR, "Detected FW dead condition\n"); if (bnxt_is_master_func(bp))