Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2550706yba; Mon, 6 May 2019 07:53:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqz7C7Awe3WgLvUERX+jJyn6JGV5wk+ACBfwpt91Gctm7ja9F+5IwL9D8A7OC0tYD+Jdr7V0 X-Received: by 2002:a17:902:da4:: with SMTP id 33mr32746060plv.20.1557154406179; Mon, 06 May 2019 07:53:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557154406; cv=none; d=google.com; s=arc-20160816; b=mW4YZcGFDr01oM5ZUxyfkNnhI+mLU2HkZ1ifaz7f89PJ5CnfR5uTvbrX85oAVRJV0p QbMtVadE2QPvxtv3yHjKX9iCd5HSf/wpWWuMQ8VKe7GK1Ua4X4xEhHGaSZ//29QmAN7U KmWJZQ53JWigT2y5IoQUPbohucfzNS+gIuQgjy70I24ge5eWC76T2GgYkTb2wU/tDbVZ bdLLA0j9BUy7DlAiSi+31QDRRGCQSmwZFHGXENulY+5rGQvWp0WVCvwW4EQ4a6YoQIas zfrDbithny2DLa5yN2uDx5jgHqievizNcZPmazizd9Py0Y7usah/itlq2cs6oSdzcCcS E2sQ== 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=yZ+/LkLm7wrsQ7wEd9zMJ7owhJmmLybkP2Ig8o1sWe4=; b=szLn+97EUyGH3jRDkkjL7wFMSrc0eODKuNWCdKLfZMIr1rA9VCxmbSVA2/4AtqCDLm tlZ/Sggm9phlxRcq08hPysY3yv+1LSlBDmIPN9x/71+IXxSAI8G08hzTkoYdQKEVJRj8 PoOBSk6KYnmekZkdYDh015CE3z2ABUFva3n1drvHEH8Z2rFNB0mQLtsoyqC4R4QEDGu8 3y3b/ENlCtacetEZcbYbyJn00aUjc+WAM4h5euGqMK+I83n3dRueBlYHQuf7pR1MDhii nzgPzCtwJ6WYSVgSYUzAuYTOXQkLW+E++X18VvRKYNhTOsxd8DbJtTT/tTekmdiHAgk9 LbYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=yCyKQwK6; 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 w2si14623882plp.26.2019.05.06.07.53.10; Mon, 06 May 2019 07:53:26 -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=yCyKQwK6; 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 S1729037AbfEFOwV (ORCPT + 99 others); Mon, 6 May 2019 10:52:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:48692 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729006AbfEFOsY (ORCPT ); Mon, 6 May 2019 10:48:24 -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 7FB9C205ED; Mon, 6 May 2019 14:48:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557154104; bh=V0HXgS5cL9B9SvKB1cc/CEQhrIEe7EaGF/Yh0vHBp2E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=yCyKQwK6Wk3a4kre1wzPSTMPZbwN4gQDv3kPjRagi5sL0VFvYZqpua5MVYL0Prl1Y creFsfDFTG7p5BfjAIIMA5osL4saK13FGJ2WRRa9ulKTqS6FxdZmN/YFFSiT3z/ral 4eukFCAhmT2FZq7XgKvqbtgKE3Jub46/FXPDagJw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Chan , "David S. Miller" Subject: [PATCH 4.9 06/62] bnxt_en: Improve multicast address setup logic. Date: Mon, 6 May 2019 16:32:37 +0200 Message-Id: <20190506143051.646342236@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190506143051.102535767@linuxfoundation.org> References: <20190506143051.102535767@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 From: Michael Chan [ Upstream commit b4e30e8e7ea1d1e35ffd64ca46f7d9a7f227b4bf ] The driver builds a list of multicast addresses and sends it to the firmware when the driver's ndo_set_rx_mode() is called. In rare cases, the firmware can fail this call if internal resources to add multicast addresses are exhausted. In that case, we should try the call again by setting the ALL_MCAST flag which is more guaranteed to succeed. Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.") Signed-off-by: Michael Chan Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -5954,8 +5954,15 @@ static int bnxt_cfg_rx_mode(struct bnxt skip_uc: rc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, 0); + if (rc && vnic->mc_list_count) { + netdev_info(bp->dev, "Failed setting MC filters rc: %d, turning on ALL_MCAST mode\n", + rc); + vnic->rx_mask |= CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST; + vnic->mc_list_count = 0; + rc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, 0); + } if (rc) - netdev_err(bp->dev, "HWRM cfa l2 rx mask failure rc: %x\n", + netdev_err(bp->dev, "HWRM cfa l2 rx mask failure rc: %d\n", rc); return rc;