From patchwork Thu Jul 5 14:01:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Russkikh X-Patchwork-Id: 939944 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=aquantia.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=AQUANTIA1COM.onmicrosoft.com header.i=@AQUANTIA1COM.onmicrosoft.com header.b="WqHzLPMZ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41M00m3sYyz9s1B for ; Fri, 6 Jul 2018 00:02:16 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753547AbeGEOCN (ORCPT ); Thu, 5 Jul 2018 10:02:13 -0400 Received: from mail-sn1nam01on0067.outbound.protection.outlook.com ([104.47.32.67]:14720 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753400AbeGEOCM (ORCPT ); Thu, 5 Jul 2018 10:02:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZlprTGByU/iOsnpxwPBRwCy91y7ex8tSmyp6P8tRagQ=; b=WqHzLPMZFvvW8NB/4eh2HYPD4ADurHnG9MRq7rxR15IIFRuSgAYAwOWRY7xu2LZXkmz2h0jdQO+syN3g0kjkYiTolX34KBeI8ayPl81/KZYiYIoIwzfwnMHxlhFT2IccC5p3ERS23DCunD/0wlBHm9NDzapSXJSxden1Vxoqqcs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; Received: from ubuntubox.rdc.aquantia.com (95.79.108.179) by BLUPR0701MB1652.namprd07.prod.outlook.com (2a01:111:e400:58c6::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Thu, 5 Jul 2018 14:02:08 +0000 From: Igor Russkikh To: "David S . Miller" Cc: netdev@vger.kernel.org, David Arcari , Pavel Belous , Igor Russkikh Subject: [PATCH net] net: aquantia: vlan unicast address list correct handling Date: Thu, 5 Jul 2018 17:01:09 +0300 Message-Id: <6ded5860633d5c93cf5f0e254e61cb17c9a22960.1530714429.git.igor.russkikh@aquantia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [95.79.108.179] X-ClientProxiedBy: SN4PR0501CA0020.namprd05.prod.outlook.com (2603:10b6:803:40::33) To BLUPR0701MB1652.namprd07.prod.outlook.com (2a01:111:e400:58c6::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 13ba0aff-bf74-4ae8-a102-08d5e27fe680 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:BLUPR0701MB1652; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1652; 3:10ubQOHWPCg5fDeu2HHA71jocLI/V7prNU6PisSOEkqh4uK8Zmrdxpk/s8OKMesm3Iu6qoKW8oNkABLStUwrCE59MH9InrUh7Ju16KY1rS10LdY0wO6+xaCM1ATQYchkIW22doHhBV9L9K6Qwy4QRTdG1GH/RNLt1P+tkHuEXHPDcjwedw6hvnKH+7NyxpXGhvVAGlnzkZjwOP4Nfs3Ht8B+tBeePSoY77G34GAOfXgaGzwF4cHm3D8Uj8wcmpJX; 25:RPC3lUIHmI8+ewKmeo1hTNKwR6vghzTKIus4ByPL55/M80OEBbT/y/3tufFoYXeKYVLqApjmIAYmUY6dsM5AjeXSeQa+985JBRrjpNSelf/x2g4EPHnIKSSrSft4ukwtEIjeiuH9t6mfDAL7YA4j3cD2k8DK/DAfRPvxmuTAyF1nAJ/HGRO9+pxRjf6s1by2et0fc2i4ZyD2VXAX9aO+C8jCkwT2iJxSV/ppux7WIImj8lNLxPzo1sMgTCbbQr6S6SAO6u1FxCZYJXgpYOBD4ma5FYMNWvoJAbWDSsMVHC9cZxpbOgkUy0xLrWRDFcpPhIAExVrvLnXpwQosXDmDzg==; 31:49YHgf4Y8El7/Piiw037ndMd03O7AqccWKoUDb/v63+FAY4Qqp2WYeIznFXClN4K9Zx56EhN5BpUOlNYDi0oKuQSSYafgo1WaEasKh7qivE4ccLoEx+hFVtkxkhlR1uNpzVUoR2VU7NJ7FAI9Lqj3qgOP5hcfItZxd4bOheXbekspzxNVztaTjhixK3/pwy6FKpm49I6QOvgkb/r2xxJJHyQUGU0cIzmXIl9s2nDKNw= X-MS-TrafficTypeDiagnostic: BLUPR0701MB1652: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1652; 20:83VXp8sYsbnr+X50R0+CDwenY7r37cklcxE8WL/9bG9Vfw+TyWX7Ijb3WjbQ69vnQDvuBLODMz870GycuoenSU4Rsm+rtSoFkESu4o/YEzfdPzezqmqWLJElWZVoGBxRpX0xsYQNUT3f7ygI0YThCF2pIU52AyIlxY2NfpPRdiA+I/4xv82HAjIXO4wBXI4yMWf4bGHFDw1l7LByJLBzuV5BnNs0pPRecWSwSKhWoQQ2LIfrz0Rv8DObTUMBiASwQbG9hZrG+PeGkgYaCvMhfJ7152BT7quaopQgg7eRg47vT++wdGKWnBt1Fd1W+AZE8jBk9cPiRi/upUZ4SbzwZJOeR2UnylCmUZZUoaHvA1QSf/kwXN9mJRnfQZzwIVPrL8i6w/uD/xzMmPu9CCuanonq5rDCfQZgu3rY1YpcHWUgxOkS5jTyY1mGIgTYZwKRp+rRMIPJmLCSSHCkM0lg0Y9K9h3H4v0qnpRfER1z1xn2BqjSPBExkMawsPG8XqT9; 4:YM6mku6ZzNAO0JKySPNJJsuS9c6F4dWhzvM4dporw1j0p9THQMdunDMFFHiGPfxMwTzMrzleiPontmzCUHg4UtoOPUfd7+PCz26p2qXpwKQ0x+fKAMMHVbNNBwxgnDBWwSmZt2t7YRpB3q1ZWgZmfJdurECoUgTtxayDun3JESLeh39aTNA+UHLUGikM5/bVUIt4xbFul/zxp3ClknExUnl0S4vcdTZjBHBzO73r2NftOZXk0r4XPBVf/sJkGkeI2GTGrwTMi7CIm70It6Cq2g== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:BLUPR0701MB1652; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1652; X-Forefront-PRVS: 0724FCD4CD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(39850400004)(136003)(376002)(366004)(346002)(199004)(189003)(72206003)(81156014)(7736002)(105586002)(8676002)(106356001)(81166006)(386003)(36756003)(478600001)(305945005)(26005)(486006)(575784001)(54906003)(86362001)(14444005)(50466002)(76176011)(16586007)(316002)(52116002)(44832011)(51416003)(16526019)(2906002)(8936002)(7696005)(48376002)(186003)(5660300001)(50226002)(118296001)(66066001)(6486002)(11346002)(446003)(68736007)(956004)(47776003)(476003)(25786009)(107886003)(53936002)(4326008)(6116002)(97736004)(3846002)(6916009)(2616005); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1652; H:ubuntubox.rdc.aquantia.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1652; 23:97vPXyUAJRQH7ukfX3r9+I1+taNoWg2z/2wSQLQ0i0stbnRX6WMGRJYR3I8BqN9POTX+zTC93hE2A2e6lr2hPnHDeOKO55Z+dZC9x7PfJXyCctSeXPpu77b/Ak6gM4tLqg/u8SjLmiY1E6xASgaIniMbqTKx9DBW183XlHZj62QXEOw3uCwUY4lUm0nY+zU+kKwlGjNUPNJB3tkeRBEp7xrJ3XwYq6f4E4xUjmquWUMoiZVYitSJn2HPCf36BTJ8yA0qBgXQZ8Oa1K28168XHBhmPokKh4heAWoetGCXZNl3398kzBvZK5fu+2E5jPrqFb7Y2R7sTB4fy3Lee27sYrKGQp/mHlBPC1a9RgTGmWGlUf2S14mMyqADiBK7CwfKcLfElv3EQnXZltOmjWy6dPFjme62WfhL8ntWin5+L0snVOxEsrLd7RQusj/Y810SARwbsA+dFLYMkzkYXqexbkTCk2Bt4Oefqmc9/0im5H3Gi84ONb9uzBFxxkE3VoLDdYNVatVJeLPYZCQmMLpDf1KjidZgaEZ+S7FM/aiPoMyN+JlyaLW20PHKYgUH5243neP/eoHMpL/mioXBJUrr++0OItgAWkSiSAwgoE1yquoahQxCoBwZuvF73ZQIpoRAWNUGcGsDL0m7IS5j1jPF9NzucBTogwOPrKgOCnJefnzm/uSz4PreZkcryPFDnfED5c1QvGH5sVQD5o2f+wWgbH34HsWC+hC2PFdUJ5UA/mnCEKxDQDyC6A/Y9Aa96d/Zk0zmHusSPOkU9PcusV8zoR3k6PNJiFwYKNlvzYysNZEkD0TvNYiibeKTkiCm9n3wJSUbyUUgFwzDbri3GO3+WzxGKAKbk241VJDUnZqtIedAJoMAwPZ2xz3YJoNzuSUEIhY3hW92ilQmkeOo/kJPo0ijPhaQrjkLnquUTnXVrHBGrkTnb/5YmPhpVXC9tSxMtPHNmnXppSkowgwoecinKnpql/uucXrGKT7nx+tflIHO5kw+2evXlJ0HBV8e5I0WN680O2pHMtUTfG29cfdelp2uXT9MG1clO2t9BukCb5Kw2dSECEBslN9rkvvOMBTnfgFnvswZAq/Ifonv+T1ZPUH4btnQcIVT629fjkNUhCinAEkRDdAsnz39GBkiBxGnl0Y3BrKCruOQGVuNx8bLmL9oL5KI8OvwDIR4sZLWUZalBQVLsd4BEPjfv7DpqVfrWnxxW9e8pTEPcDNmBiVNfC6c7816+iLU0fTo0w3XDBQaWd1TdxWTbb3bAGfD1K5W X-Microsoft-Antispam-Message-Info: JPOnohS9/KAc+zwqndnnb1/vF05YXB/hHVNfyhjFvVVlXQJgdx979mcDmLwDW6J2h5Z2/32byYnuqdWN9knv5nHdHC/qj6l+XyCgcgGerDxU9DqkNbTnkE/qMKeBV5K1ASdEzgr5uASdUIGPBGQ7p4PsuSAWzo6gdz+mCswYbKt3osCx+lgsDS3jo3HjkY+Zhvsg7ZCy87aX1UJh8Y3hv6bGpcwlR1OULh/r1PqIr9yiP1FNJNcS1yyyvOqsJ1lq/OLyCQ4xhnV1uftKXyV6WEtO+9B7zlMFRb8FKbywV2qfUxdKHZu/aUu1rGXqbkq3H891ffUv7rZU44mYdlrmKKV6UtaCdw61xeN86vjc00c= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1652; 6:pS3/2WTuz8rieBy2+KwYVf+HgQpAmeaZV9IoGqkea/WDZJA8l/l6NnZhFRpSmxqyno62JXoKJBksT6gtK1e+faaorcGs5D7zlhuggXKOcSscnWUahggdr4BXP2MVKrBMOlxaNFKGgjBzdxNosXX30OSMQYtmZYUq5mkKe5pkG4uDqNZxNGNg2XixOwbp0G9jSyk7TqkCfP0VrrtrIRM53E8VdQqORMh9jDBEmGw1MoGQM/G8AW7+FRNtMt2yZurAooDEbxlQJ+x7vnDshat1YuYQTxbrV1tZdFAcZ1L2RJZFFP9TbWRFrsNs4ouLrooaIHVLSdhEce8VouMG1Hyq5MPhcNy1iPK8CjcjK8gJNDoxSlSmmmPTvTsfH+ab8bYo8RhxTpWosI/2m+EDOKswEmt48pEQkvP8ieayi4MylozyaiEy+rYS7k6nLILG65wuHBzZTolHCoBuF/E/FSUyMA==; 5:foxxId7NlvXGeZANlRC71v17vVn5BJcNtk7vmJXMd+RWeSBha5jUifxrqqUqlKepLNNi4j442P8sC/qD/PkeOV600DISUVvpYD33cp96atUy8ykmU5LJxpz0AhxfWV9/9fS9/tJ+cg+1jAI9GOM41BoiNchtMMT0YuD2fKc+50Y=; 24:HLUimi3gIlay7tuSUF70RLSIymnbTrk2mHwq2vIC/vX08dhOur49pzkrBkMqsi0We+hJZnyn6hIkj2ubZ99Sj9j5yjoj2TSZArvZt3CawRM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1652; 7:novr59Ws4JVCJT1UKlpdHaNiYqxtgxlHl1ff5yRIcpNsb2Gg4KL3CZVwz7eB538xqsgpfEwWJJb4sdGwYuBpc4NrKODkGyXns7YB6SBJKmHSz622YUXzFoOubOU5Ac/TpioxgeTtMT61ZJRaz8GzKWFYJkZJOlBACzHJ1hjmioEqwyvrhO3xeUVLG3nBTBHXLv7fGVnMlAn/yusbwDJHb9vlh4xtG6Gq5rlf4VIrdFBt5dYrYGwHh0otYgy306H0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2018 14:02:08.4805 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 13ba0aff-bf74-4ae8-a102-08d5e27fe680 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1652 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Setting up macvlan/macvtap networks over atlantic NIC results in no traffic over these networks because ndo_set_rx_mode did not listed UC MACs as registered in unicast filter. Here we fix that taking into account maximum number of UC filters supported by hardware. If more than MAX addresses were registered, we just enable promisc and/or allmulti to pass the traffic in. We also remove MULTICAST_ADDRESS_MAX constant from aq_cfg since thats not a configurable parameter at all. Fixes: b21f502 ("net:ethernet:aquantia: Fix for multicast filter handling.") Signed-off-by: Igor Russkikh --- drivers/net/ethernet/aquantia/atlantic/aq_cfg.h | 2 - drivers/net/ethernet/aquantia/atlantic/aq_hw.h | 4 +- drivers/net/ethernet/aquantia/atlantic/aq_main.c | 11 +---- drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 47 +++++++++++++--------- drivers/net/ethernet/aquantia/atlantic/aq_nic.h | 2 +- .../ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c | 2 +- .../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c | 4 +- 7 files changed, 36 insertions(+), 36 deletions(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h b/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h index fc73831..91eb891 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h @@ -63,8 +63,6 @@ #define AQ_CFG_NAPI_WEIGHT 64U -#define AQ_CFG_MULTICAST_ADDRESS_MAX 32U - /*#define AQ_CFG_MAC_ADDR_PERMANENT {0x30, 0x0E, 0xE3, 0x12, 0x34, 0x56}*/ #define AQ_NIC_FC_OFF 0U diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_hw.h b/drivers/net/ethernet/aquantia/atlantic/aq_hw.h index a2d416b..2c6ebd9 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_hw.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_hw.h @@ -98,6 +98,8 @@ struct aq_stats_s { #define AQ_HW_MEDIA_TYPE_TP 1U #define AQ_HW_MEDIA_TYPE_FIBRE 2U +#define AQ_HW_MULTICAST_ADDRESS_MAX 32U + struct aq_hw_s { atomic_t flags; u8 rbl_enabled:1; @@ -177,7 +179,7 @@ struct aq_hw_ops { unsigned int packet_filter); int (*hw_multicast_list_set)(struct aq_hw_s *self, - u8 ar_mac[AQ_CFG_MULTICAST_ADDRESS_MAX] + u8 ar_mac[AQ_HW_MULTICAST_ADDRESS_MAX] [ETH_ALEN], u32 count); diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_main.c b/drivers/net/ethernet/aquantia/atlantic/aq_main.c index ba5fe8c..e3ae29e 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_main.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_main.c @@ -135,17 +135,10 @@ static int aq_ndev_set_mac_address(struct net_device *ndev, void *addr) static void aq_ndev_set_multicast_settings(struct net_device *ndev) { struct aq_nic_s *aq_nic = netdev_priv(ndev); - int err = 0; - err = aq_nic_set_packet_filter(aq_nic, ndev->flags); - if (err < 0) - return; + aq_nic_set_packet_filter(aq_nic, ndev->flags); - if (netdev_mc_count(ndev)) { - err = aq_nic_set_multicast_list(aq_nic, ndev); - if (err < 0) - return; - } + aq_nic_set_multicast_list(aq_nic, ndev); } static const struct net_device_ops aq_ndev_ops = { diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c index 1a1a638..7a22d02 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -563,34 +563,41 @@ int aq_nic_set_packet_filter(struct aq_nic_s *self, unsigned int flags) int aq_nic_set_multicast_list(struct aq_nic_s *self, struct net_device *ndev) { + unsigned int packet_filter = self->packet_filter; struct netdev_hw_addr *ha = NULL; unsigned int i = 0U; - self->mc_list.count = 0U; - - netdev_for_each_mc_addr(ha, ndev) { - ether_addr_copy(self->mc_list.ar[i++], ha->addr); - ++self->mc_list.count; + self->mc_list.count = 0; + if (netdev_uc_count(ndev) > AQ_HW_MULTICAST_ADDRESS_MAX) { + packet_filter |= IFF_PROMISC; + } else { + netdev_for_each_uc_addr(ha, ndev) { + ether_addr_copy(self->mc_list.ar[i++], ha->addr); - if (i >= AQ_CFG_MULTICAST_ADDRESS_MAX) - break; + if (i >= AQ_HW_MULTICAST_ADDRESS_MAX) + break; + } } - if (i >= AQ_CFG_MULTICAST_ADDRESS_MAX) { - /* Number of filters is too big: atlantic does not support this. - * Force all multi filter to support this. - * With this we disable all UC filters and setup "all pass" - * multicast mask - */ - self->packet_filter |= IFF_ALLMULTI; - self->aq_nic_cfg.mc_list_count = 0; - return self->aq_hw_ops->hw_packet_filter_set(self->aq_hw, - self->packet_filter); + if (i + netdev_mc_count(ndev) > AQ_HW_MULTICAST_ADDRESS_MAX) { + packet_filter |= IFF_ALLMULTI; } else { - return self->aq_hw_ops->hw_multicast_list_set(self->aq_hw, - self->mc_list.ar, - self->mc_list.count); + netdev_for_each_mc_addr(ha, ndev) { + ether_addr_copy(self->mc_list.ar[i++], ha->addr); + + if (i >= AQ_HW_MULTICAST_ADDRESS_MAX) + break; + } + } + + if (i > 0 && i < AQ_HW_MULTICAST_ADDRESS_MAX) { + packet_filter |= IFF_MULTICAST; + self->mc_list.count = i; + self->aq_hw_ops->hw_multicast_list_set(self->aq_hw, + self->mc_list.ar, + self->mc_list.count); } + return aq_nic_set_packet_filter(self, packet_filter); } int aq_nic_set_mtu(struct aq_nic_s *self, int new_mtu) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.h b/drivers/net/ethernet/aquantia/atlantic/aq_nic.h index faa533a..fecfc40 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.h +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.h @@ -75,7 +75,7 @@ struct aq_nic_s { struct aq_hw_link_status_s link_status; struct { u32 count; - u8 ar[AQ_CFG_MULTICAST_ADDRESS_MAX][ETH_ALEN]; + u8 ar[AQ_HW_MULTICAST_ADDRESS_MAX][ETH_ALEN]; } mc_list; struct pci_dev *pdev; diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c index 67e2f9f..8cc6aba 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c @@ -765,7 +765,7 @@ static int hw_atl_a0_hw_packet_filter_set(struct aq_hw_s *self, static int hw_atl_a0_hw_multicast_list_set(struct aq_hw_s *self, u8 ar_mac - [AQ_CFG_MULTICAST_ADDRESS_MAX] + [AQ_HW_MULTICAST_ADDRESS_MAX] [ETH_ALEN], u32 count) { diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c index 819f6bc..956860a 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c @@ -784,7 +784,7 @@ static int hw_atl_b0_hw_packet_filter_set(struct aq_hw_s *self, static int hw_atl_b0_hw_multicast_list_set(struct aq_hw_s *self, u8 ar_mac - [AQ_CFG_MULTICAST_ADDRESS_MAX] + [AQ_HW_MULTICAST_ADDRESS_MAX] [ETH_ALEN], u32 count) { @@ -812,7 +812,7 @@ static int hw_atl_b0_hw_multicast_list_set(struct aq_hw_s *self, hw_atl_rpfl2_uc_flr_en_set(self, (self->aq_nic_cfg->is_mc_list_enabled), - HW_ATL_B0_MAC_MIN + i); + HW_ATL_B0_MAC_MIN + i); } err = aq_hw_err_from_flags(self);