Received: by 2002:a05:6358:5282:b0:b5:90e7:25cb with SMTP id g2csp3396085rwa; Tue, 23 Aug 2022 04:12:11 -0700 (PDT) X-Google-Smtp-Source: AA6agR4QV6CueK7YlktdbuNb7kdKFu3AWqB0vAIajEBsQ5I/21VbgEo8LTPbt4MeBKFGLHBfK2S4 X-Received: by 2002:a63:182:0:b0:42a:782c:66dc with SMTP id 124-20020a630182000000b0042a782c66dcmr11576508pgb.12.1661253131631; Tue, 23 Aug 2022 04:12:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661253131; cv=none; d=google.com; s=arc-20160816; b=th3cVuTguqAJ+9YBUru2+FH0U+LyOeXZQvL4TenEvuDbqhf1Tj06jQNQJGogdvna5E uLCCCBDgdzBa0LdNwaESbOA/aOYpeDQE/v/gL7rNLnWf9QmfVCFauTiK3Ucx83Riw7LY MQKOkcZq//giWJf2xVhEbOfZ2TRw1m47PH4zYro+L+yjvhOtr1SzjJB2wppR7FFZ1Gq3 iBsWrYmA/DWZZyGrlGMbAsl7bKgwBIiQzc9SFB0S0ANe0YZPLIF9ENDPACa6p0WUuXBF BvO2ufitzOIyj7LC0tC1Qq/TzQzP0dQJgGQEfPkRqMhaR8kajRqFl/o+0DwI0PLaNOS1 9ftQ== 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=7FA20Af9HH9qWoZWEMZFrefBPWDSPDwCKXetO9MbDj8=; b=QqgSo8NwnOxkzZRIYwJiwBPZCKtpDgLdHfBMSFxtKa0vQyo5zPuwyhKITawA8mF5oC SAOhSwZ/1MM4jFcDK+QDRhOmwrgwsSRKMogNnc7KO/2wFbLx4xVbNSMingSgZOYwMEI6 i76H1OBritnNkPozXS5cEf2w3q4md/H1Tlj4MlPtKtbIAz1BXT6+mZuKWqZuBnSmdSmL LyA+LxmjXwvZpLfrRT1U33VEUW5+W3SbD45vaXjRISxgIdIvzRv+yPPIFpcqysXlPG+Y dU/dl+yKjNj1L9Qrcw/c5Wx3UwMa97d3+L4dxtFAnEoiKqBT/FmbKyMbUv/0yWsX2wsR l0wg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=x57DpT2M; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 129-20020a630187000000b0042a81e05245si9174083pgb.443.2022.08.23.04.11.59; Tue, 23 Aug 2022 04:12:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=x57DpT2M; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353886AbiHWKTL (ORCPT + 99 others); Tue, 23 Aug 2022 06:19:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35388 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352649AbiHWKIY (ORCPT ); Tue, 23 Aug 2022 06:08:24 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B94859269; Tue, 23 Aug 2022 01:54:36 -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 dfw.source.kernel.org (Postfix) with ESMTPS id E7E66614E7; Tue, 23 Aug 2022 08:54:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 02FDAC433D6; Tue, 23 Aug 2022 08:54:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1661244875; bh=4Us83UT6ZbV3aktWVPiRZSjSNlBE3K0H6ZYvOyN1SBU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=x57DpT2Mu5Y4ELKQYuU9qHURxjNRLJUEFRxHOxKITRYRxvRwR3RtBR8e752dfASYI xZsmjFPnkhUlQDelJnSJ1hNdyi/D3Ydhas0hiVgawzt2yJNjE14BOUjmA+SIBfiTpn v/KL5CZvukn3tXUjFJgMuOZJrTKE6o2QDT4Z+rmg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alan Brady , Mateusz Palczewski , Tony Nguyen , Gurucharan Subject: [PATCH 4.14 205/229] i40e: Fix to stop tx_timeout recovery if GLOBR fails Date: Tue, 23 Aug 2022 10:26:06 +0200 Message-Id: <20220823080100.981537291@linuxfoundation.org> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220823080053.202747790@linuxfoundation.org> References: <20220823080053.202747790@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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: Alan Brady commit 57c942bc3bef0970f0b21f8e0998e76a900ea80d upstream. When a tx_timeout fires, the PF attempts to recover by incrementally resetting. First we try a PFR, then CORER and finally a GLOBR. If the GLOBR fails, then we keep hitting the tx_timeout and incrementing the recovery level and issuing dmesgs, which is both annoying to the user and accomplishes nothing. If the GLOBR fails, then we're pretty much totally hosed, and there's not much else we can do to recover, so this makes it such that we just kill the VSI and stop hitting the tx_timeout in such a case. Fixes: 41c445ff0f48 ("i40e: main driver core") Signed-off-by: Alan Brady Signed-off-by: Mateusz Palczewski Tested-by: Gurucharan (A Contingent worker at Intel) Signed-off-by: Tony Nguyen Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/intel/i40e/i40e_main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -405,7 +405,9 @@ static void i40e_tx_timeout(struct net_d set_bit(__I40E_GLOBAL_RESET_REQUESTED, pf->state); break; default: - netdev_err(netdev, "tx_timeout recovery unsuccessful\n"); + netdev_err(netdev, "tx_timeout recovery unsuccessful, device is in non-recoverable state.\n"); + set_bit(__I40E_DOWN_REQUESTED, pf->state); + set_bit(__I40E_VSI_DOWN_REQUESTED, vsi->state); break; }