Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2465302yba; Mon, 15 Apr 2019 12:12:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqxVArUUH12sx70LDccP63ZidCli+NoYYBHHpRLIX4icRFg5kEqy7U9bs3irBsF/LL3rT2QM X-Received: by 2002:aa7:83ce:: with SMTP id j14mr48682552pfn.57.1555355565467; Mon, 15 Apr 2019 12:12:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555355565; cv=none; d=google.com; s=arc-20160816; b=xmEslgmp6aTmPkn7MLOV4SbZuRRNLEufxMRRgG50icpWzC7KkarrXzFGu9r9zZL+Fz ea3JP+rJnn8yHd9FXH4JcDTlKFVDC6jtBrt+nPiJlkI3QwFzb92LLhaugeMlwZPitVH2 Z18OgvwagtVqPm1r2CA7LJyCYoN2FGTzPE1libIOwGQfCsOe0xYep3es/agRukVg1F2B /cuN9Qv29KM5Gjk1nTpGuggxZ8JmWk+7+i7dEBG3JWKqbK8ttWUJkecYJwgQ3EMG9iQC U13/JvW87PViJZZWn3v70U74ubz5LW+nP3JJtFK7UoroYa/tW9aycD2MjA0Fn6xTy940 C58w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=xMqfM/iqHiHpd/Gv+61jm0CYaNUev80YGdtO6AfCHyA=; b=Weds3P+2Lk98q0AZvs0Rvs5BFcjyPj5EO67Jj592oifgG92V51MpqqbqfoqnxLJTdI k9gWPVS0Bu2YehMQHx7+XC9GkhiJS6WpV2E5PQQRnJx9ov6ZAV2AbThj9Hc+lQVP1AMU ilQmt/9cKX8Iwd/odfzgD5hFzvTlAv/3gLpCw+rYlI+8r8oHvyxOU0/sN239aK5a2iS7 iEwCRzZ/rbkht7JMDikz7L8bx1LvA/+BrT5Y2d5iVt2iMx9rUjHa5WQfgEQx5Przkev3 D6UKwO/udLWAkDg+i1ztEtZbddLRoRLLO/6V84XcIR3+0JzGZdbW3HyoCaCUD/FHQFKL hdrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=j57v8yfR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m1si44942011pgh.8.2019.04.15.12.12.29; Mon, 15 Apr 2019 12:12:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=j57v8yfR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731160AbfDOTLI (ORCPT + 99 others); Mon, 15 Apr 2019 15:11:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:47882 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731153AbfDOTLF (ORCPT ); Mon, 15 Apr 2019 15:11:05 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 26DC6218A1; Mon, 15 Apr 2019 19:11:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1555355464; bh=cVHyktmlskYnLgC1KEfID2r7lWydq5mx5QNeowfd3cg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=j57v8yfRM4tPnxGW65ckO83NGAlTFLfKqgMNCgPHU23BPqe5bRFDwo52g/II6StTL GfshMeRZJGEcNVznoggYMUPx9V+TSSYNiP9PMg2G1NpuokWIhcBbN6VYE4jivwUz0q WFWnTTjF/NjJSaQauczLea+EH7Y/0k7QzIOcfbU4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Chan , "David S. Miller" , Sasha Levin Subject: [PATCH 5.0 031/117] bnxt_en: Reset device on RX buffer errors. Date: Mon, 15 Apr 2019 21:00:01 +0200 Message-Id: <20190415183746.508976695@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190415183744.887851196@linuxfoundation.org> References: <20190415183744.887851196@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 8e44e96c6c8e8fb80b84a2ca11798a8554f710f2 ] If the RX completion indicates RX buffers errors, the RX ring will be disabled by firmware and no packets will be received on that ring from that point on. Recover by resetting the device. Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.") Signed-off-by: Michael Chan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 351417e74ae2..40ca339ec3df 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -1610,11 +1610,17 @@ static int bnxt_rx_pkt(struct bnxt *bp, struct bnxt_cp_ring_info *cpr, rx_buf->data = NULL; if (rxcmp1->rx_cmp_cfa_code_errors_v2 & RX_CMP_L2_ERRORS) { + u32 rx_err = le32_to_cpu(rxcmp1->rx_cmp_cfa_code_errors_v2); + bnxt_reuse_rx_data(rxr, cons, data); if (agg_bufs) bnxt_reuse_rx_agg_bufs(cpr, cp_cons, agg_bufs); rc = -EIO; + if (rx_err & RX_CMPL_ERRORS_BUFFER_ERROR_MASK) { + netdev_warn(bp->dev, "RX buffer error %x\n", rx_err); + bnxt_sched_reset(bp, rxr); + } goto next_rx; } -- 2.19.1