From patchwork Wed Apr 15 16:11:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1271299 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 (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=Tz8lMQ3E; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 492S8n1zwFz9sT9 for ; Thu, 16 Apr 2020 02:14:01 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1415375AbgDOQOA (ORCPT ); Wed, 15 Apr 2020 12:14:00 -0400 Received: from mail-bn7nam10on2054.outbound.protection.outlook.com ([40.107.92.54]:6037 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1415233AbgDOQNA (ORCPT ); Wed, 15 Apr 2020 12:13:00 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zpifr6EXmg+lwEIh/Pn0dsbVK0UkMbRZ4G+YE2ANvigOzAPoewpCR5utJAtmROGEQle4W3AK/cTf1a23rVaqfDSETIJ7425ihubN4Te88c8P1tWVmyXaWt9wuj0uFBVcfbnHHCyIfDW9SFCep1ihYcBeVS0loKvbVV0L5bBN+zIjZzfNi4yjX217bMj/xJ/IdxCHeuBd4hCsfaNfURxlvyw5V0i33e9O81ClPUGy22xR4JtegXFJz7V76g/rsO7mrqf+ynqjOWhSXaaEcV+KhwE/M5J+QRbOPkcVP7T/vtriB1xHJWvUWAKshqmBXOLFj2GBC4FEn5HMHFknOSct2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QZ/rq2FsoB605jBIje5ao4v/472P9Cz2zkmYJhal3fA=; b=XKJWeCchgzIyZHO5qq67SwpGzn5giLZeUKgTecpTSLhlCwKy6cKTrepcscWj/LeqKiCuZ1LvH0FClAxGmtwSC5EmdkTHCcHDEDC26rcI8fBLsqxYFM8t2RtReEq2LtdxWy1H8j/Xk9j5bnxFIAfSgALMaMIhCmh9leyErM96r/pBezOyEAEiyetkkEYFi9CrNWyFuzpQ8vaNlMU9b1JPa9w0c5IZH9IfX14Gg/XK6ORRAo7m6rN7zG/iujrqTX1XZAao4WZBc8ojOfiYjvkEGnhP6aaWJJ4esxg5YQqhSxuZ58vcNu8sM6AYxiNKnjyHNv79WrbfnEy6OUjnnOvDHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QZ/rq2FsoB605jBIje5ao4v/472P9Cz2zkmYJhal3fA=; b=Tz8lMQ3ENPGKHXG1kY1vaqh+enb5tXst6dPgeIVsroUrFyB6HxMTDmPla0Br30OLF3Ink0HyS36y6HAW0/bMyb8sABzDrOUvohsRysMCG6bieBfPzM2S3H/TsvvqjMFSc8Qr3WyeMWjWBW1PnIPibpQ6GWtcKYkA35rDcOzrZwA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; Received: from MWHPR11MB1775.namprd11.prod.outlook.com (2603:10b6:300:10e::14) by MWHPR11MB1599.namprd11.prod.outlook.com (2603:10b6:301:e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.28; Wed, 15 Apr 2020 16:12:48 +0000 Received: from MWHPR11MB1775.namprd11.prod.outlook.com ([fe80::81d5:b62b:3770:ffbe]) by MWHPR11MB1775.namprd11.prod.outlook.com ([fe80::81d5:b62b:3770:ffbe%10]) with mapi id 15.20.2921.024; Wed, 15 Apr 2020 16:12:48 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 14/20] staging: wfx: drop struct wfx_grp_addr_table Date: Wed, 15 Apr 2020 18:11:41 +0200 Message-Id: <20200415161147.69738-15-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200415161147.69738-1-Jerome.Pouiller@silabs.com> References: <20200415161147.69738-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR1PR01CA0027.eurprd01.prod.exchangelabs.com (2603:10a6:102::40) To MWHPR11MB1775.namprd11.prod.outlook.com (2603:10b6:300:10e::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from pc-42.home (2a01:e35:2435:66a0:544b:f17b:7ae8:fb7) by PR1PR01CA0027.eurprd01.prod.exchangelabs.com (2603:10a6:102::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Wed, 15 Apr 2020 16:12:45 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [2a01:e35:2435:66a0:544b:f17b:7ae8:fb7] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7fcd77c8-4630-46bc-ee09-08d7e157d6bc X-MS-TrafficTypeDiagnostic: MWHPR11MB1599: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3826; X-Forefront-PRVS: 0374433C81 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1775.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10009020)(376002)(396003)(346002)(366004)(39850400004)(136003)(4326008)(66476007)(107886003)(81156014)(86362001)(8936002)(2616005)(6512007)(6486002)(316002)(52116002)(66556008)(66946007)(6666004)(6506007)(8886007)(2906002)(1076003)(36756003)(66574012)(5660300002)(54906003)(478600001)(16526019)(8676002)(186003);DIR:OUT;SFP:1101; Received-SPF: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bXl2f4a2vRaXd2mGO0DziHGbc6ZfOrqpEg3P225PTmfS6DpGmeOO/umNR7XZoUW9yTocva9VzDqpY9PR1AhqNM1faSqdbUSOn8YBexHUZZkVtXXO1FVCK2ZgrCCZQkEGO9Gtz2fnQ7abKzsmnxxBPBfkJP8XZyBpgx++/WCiiHehnhvubFvvfZYbfyQgMl1HjSaFhs2MB7orjVxOjoq5FRXrZ9V6lIF5aCkQQIB1ca2GYLrem1nbflcOcza1vy51XB27gTgGLRkCmuz9nwmZzXZPsTZJBCYJU7buXq6PCCFkixiPgC3EZYyzEWZO5zl0EOvp2ARpK0sdDH/tMIOamGI8Yq3T9ofUCzQzpLWRn3F7lsp6mS6O75i4syA2+3k9LRY0EgPIOuXyQAscVWZoL43QB4oaOhfhLDyDyJPAYkrNBwkQq+ee+9Y9/Mkomfqb X-MS-Exchange-AntiSpam-MessageData: XqOs24LIb5KM/caQ+KRm2U0o8jtUojVgrkizSO5xSyuOXuPOi44+QCnN0wUjkr6/TONsj3mZGLQFYjQGco1G2Bie3qOyai41zcH1rFs4D1xle+snWBnLCq2Cz6AVcgEW0yVnp2929TYr0u9ULP1bRdLgI6fBJ30QPkhuK/jLacuCjIYt5XDpHhpIdIRR14FABs2Of3vlB/p/FXBI1B0zrw== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fcd77c8-4630-46bc-ee09-08d7e157d6bc X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2020 16:12:47.8644 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Op1q436WfSmuZIiLeckwH9VcTDN4xlxrl8LIOOHeyHoJ/7zJ8XPyQYuhw/ynbz+du7lHyHz4I9/Pn+Mk0j/6VQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1599 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The struct wfx_grp_addr_table is only instantiated on one place. There is no justifiation for this struct. Moreover, it is not consistent with other fields related to filtering (filter_bssid, etc...). Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/sta.c | 28 +++++++++++++--------------- drivers/staging/wfx/sta.h | 6 ------ drivers/staging/wfx/wfx.h | 4 +++- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 3a105d485237..70342bdd9d96 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -149,17 +149,16 @@ void wfx_update_filtering(struct wfx_vif *wvif) hif_set_data_filtering(wvif, false, true); return; - if (!wvif->mcast_filter.enable) { + if (!wvif->filter_mcast) { hif_set_data_filtering(wvif, false, true); return; } - for (i = 0; i < wvif->mcast_filter.num_addresses; i++) - hif_set_mac_addr_condition(wvif, i, - wvif->mcast_filter.address_list[i]); + for (i = 0; i < wvif->filter_mcast_count; i++) + hif_set_mac_addr_condition(wvif, i, wvif->filter_mcast_addr[i]); hif_set_uc_mc_bc_condition(wvif, 0, HIF_FILTER_UNICAST | HIF_FILTER_BROADCAST); hif_set_config_data_filter(wvif, true, 0, BIT(1), - BIT(wvif->mcast_filter.num_addresses) - 1); + BIT(wvif->filter_mcast_count) - 1); hif_set_data_filtering(wvif, true, true); } @@ -173,18 +172,17 @@ u64 wfx_prepare_multicast(struct ieee80211_hw *hw, int count = netdev_hw_addr_list_count(mc_list); while ((wvif = wvif_iterate(wdev, wvif)) != NULL) { - memset(&wvif->mcast_filter, 0x00, sizeof(wvif->mcast_filter)); - if (!count || - count > ARRAY_SIZE(wvif->mcast_filter.address_list)) + if (count > ARRAY_SIZE(wvif->filter_mcast_addr)) { + wvif->filter_mcast_count = 0; continue; + } + wvif->filter_mcast_count = count; i = 0; netdev_hw_addr_list_for_each(ha, mc_list) { - ether_addr_copy(wvif->mcast_filter.address_list[i], - ha->addr); + ether_addr_copy(wvif->filter_mcast_addr[i], ha->addr); i++; } - wvif->mcast_filter.num_addresses = count; } return 0; @@ -220,12 +218,12 @@ void wfx_configure_filter(struct ieee80211_hw *hw, wvif->filter_beacon = true; if (*total_flags & FIF_ALLMULTI) { - wvif->mcast_filter.enable = false; - } else if (!wvif->mcast_filter.num_addresses) { + wvif->filter_mcast = false; + } else if (!wvif->filter_mcast_count) { dev_dbg(wdev->dev, "disabling unconfigured multicast filter"); - wvif->mcast_filter.enable = false; + wvif->filter_mcast = false; } else { - wvif->mcast_filter.enable = true; + wvif->filter_mcast = true; } wfx_update_filtering(wvif); diff --git a/drivers/staging/wfx/sta.h b/drivers/staging/wfx/sta.h index a90eaf5043a8..31097057563a 100644 --- a/drivers/staging/wfx/sta.h +++ b/drivers/staging/wfx/sta.h @@ -28,12 +28,6 @@ struct wfx_hif_event { struct hif_ind_event evt; }; -struct wfx_grp_addr_table { - bool enable; - int num_addresses; - u8 address_list[8][ETH_ALEN]; -}; - struct wfx_sta_priv { int link_id; int vif_id; diff --git a/drivers/staging/wfx/wfx.h b/drivers/staging/wfx/wfx.h index 3941462097a4..53184fe2da4b 100644 --- a/drivers/staging/wfx/wfx.h +++ b/drivers/staging/wfx/wfx.h @@ -77,7 +77,6 @@ struct wfx_vif { u32 link_id_map; bool after_dtim_tx_allowed; - struct wfx_grp_addr_table mcast_filter; s8 wep_default_key_id; struct sk_buff *wep_pending_skb; @@ -88,6 +87,9 @@ struct wfx_vif { struct work_struct update_tim_work; + int filter_mcast_count; + u8 filter_mcast_addr[8][ETH_ALEN]; + bool filter_mcast; bool filter_bssid; bool filter_prbreq; bool filter_beacon;