From patchwork Fri Oct 20 03:33:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lin X-Patchwork-Id: 736599 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9826CC001DF for ; Fri, 20 Oct 2023 03:34:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346911AbjJTDeE (ORCPT ); Thu, 19 Oct 2023 23:34:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59546 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346888AbjJTDeD (ORCPT ); Thu, 19 Oct 2023 23:34:03 -0400 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2085.outbound.protection.outlook.com [40.107.21.85]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 395FEE8; Thu, 19 Oct 2023 20:34:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SB0+wwlJIr4432cxVTovwtwTLOyRUotokntQU3ik4q+KMI0judmvf3ADSLnV59t9vazfdnGu0Y2Y+rn7MgrTxkPZE6HXZGCFVcNQ+wRHVmVD1tRc9uonU2pLS7OcM8lstGPqSHxMkuOxEcroxMjBTxj2vRhColZtHgMcEHBU9SmZM7/ZHXC7DgWdK/oFa3GFQDd5Oj77aqy5X7xYHNG87W0O74vF5ERfpNeUyx8jaqkMNHQmQbeWlObv5rOxghiDQrX/IEDwrsWYNK8RClf3XxVDaHXFqF71/Z82XsNO0M5Nqb4K2ZELcdUsBk5FmtDvLUyRiSu9dPFhZ5Hl/FApHw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ko6quvNkly9aP+TTwFG+uV3BWhKFCLwon54kFqHOPbo=; b=LcWAb7W+xb6rsU7k26Ii7W6ZuoQYg6gI9iErI80JW3JvsoPkqfO8A/yWcgeqfuqxbvwnudQu/nFLJijGhEp6yXT5POxZI9EsoPYeTVREZKxYpFklQFynxVU3PuwEdjcUXs9XnRYR8Ofy8tHACP2AKaGbsiQ0ADGSUX1CjLOcDdjaiZobo7PtAdTDX2CpDB5HcSzdgmWYJ1d6AbciUf4/fmtfVIfepiWH0ItYdqYjBvOC8GI/SC+AO58v1qT31kcya2ZGCpncPIpePts762eDFvQBsRxEgQQpSJmpDeEoWVrFB7/euXZaq484ZlepVHKHlAz7ELGSs8koxf/WSPx+1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ko6quvNkly9aP+TTwFG+uV3BWhKFCLwon54kFqHOPbo=; b=Er6PkKWUqcHzfspbn5vj8cpQlrmh4K3qCJjmDFYVPQuiwHWwyi5T5LHcjEN2Z1mo+OjbNxZmi7oqZj8j5HBraPFcRIfdRue1ohG/Om0hhrtc+MKrQf50v3E+Z/yPWVEVmxK2Uv36zGRpvZp4pJ2ZY6iTA8o4WQFASNsdZ8fBIq0= Received: from PA4PR04MB9638.eurprd04.prod.outlook.com (2603:10a6:102:273::20) by DB9PR04MB8236.eurprd04.prod.outlook.com (2603:10a6:10:245::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.34; Fri, 20 Oct 2023 03:33:57 +0000 Received: from PA4PR04MB9638.eurprd04.prod.outlook.com ([fe80::34dd:289e:9e8b:9c9b]) by PA4PR04MB9638.eurprd04.prod.outlook.com ([fe80::34dd:289e:9e8b:9c9b%7]) with mapi id 15.20.6933.011; Fri, 20 Oct 2023 03:33:57 +0000 From: David Lin To: "linux-wireless@vger.kernel.org" CC: "linux-kernel@vger.kernel.org" , "briannorris@chromium.org" , "kvalo@kernel.org" , "francesco@dolcini.it" , Sharvari Harisangam , David Lin , Pete Hsieh Subject: [PATCH v5 6/6] wifi: mwifiex: added mac address for AP config. Thread-Topic: [PATCH v5 6/6] wifi: mwifiex: added mac address for AP config. Thread-Index: AdoDBkBMGcQmYhwGQd21GDKgnJ5byA== Date: Fri, 20 Oct 2023 03:33:57 +0000 Message-ID: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PA4PR04MB9638:EE_|DB9PR04MB8236:EE_ x-ms-office365-filtering-correlation-id: 876237ab-0544-4dc1-753a-08dbd11d64a7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RJ3GvrI37oW6gwe7SM2as8WQ/Yl0HhDpMLU8/2YvaT7CQG2mpoCYyHFMsYKBTNquZJ1t9NH46AwiuQu+59oHKli769BGfeG8WdPZeIWrJEBkY7jc9mBuK/pNwj5VpuMIjPM60YmHvBxZPWvEgU2EKe6EVju0Uqow+sr0lqKjNSaihvWlTVZqFQj0Ul0KjpEXRUVyVWnpGFBg3ZmoaShEGgx+Td+IoggCUg6GBiRX//5tUi9AfgUNO4BlUcI/Kjtxioa7oT9U7OlJagEqLSef4JUDfm98RWMTsiespOvJWPppWFaJmDWycWEUHPFosL1cot4LJ4y0Id7W5lDlbHMwuFBLy4sf5Um2uWph2oUG7KS8pWjLdNg5USBw8jrfXe2X+k2gbW0I//JX4ElU159KvJzR8pkyc4AzT9eaYAEqz0lcSK/cHZKESWIu+2YVjK3nseSOlUEbUxCjEgng3DgQu/spXWNI0ceJ/EAeZdF6ul4ZbJeqpD9dpOCyzQNUsLf5jjIIGEuBX+LKVnvnVtX3lw4Gm3PpRLNJVzMJJa/izaVmG1TsvTaMx4Zst0FL6Y/LrZNeptp4JoHCNQtlOpoZfdiaeNPhutyNLGnd43cRZc7C5EtBtMWmkpObBuAFtSlf x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR04MB9638.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(396003)(376002)(346002)(366004)(39860400002)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(38070700009)(66446008)(38100700002)(66556008)(33656002)(64756008)(478600001)(66476007)(54906003)(66946007)(6506007)(6916009)(76116006)(71200400001)(2906002)(8936002)(5660300002)(8676002)(52536014)(9686003)(41300700001)(4326008)(86362001)(316002)(7696005)(122000001)(26005)(66899024)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: r0X0M6yCNm74eOimMy54TWQSzTxsKstw/ZYjDdHwy93hoGobn9ezqU/VWnKwYtRTJT2PcXBGNExoomShLjJtkv44hlccWLb6UhHRggdqWkUHAJpb00H4K8fxW1gJnTqCB3u6GPI+QSpIkxl0v8dEcGnOLjIZlQ6geD+g6kTXEXZyJNz4V5YEKIQOWmrC+OjZyPPf+DqBZZsyKp5MdOR/Ue+to60XGRtvRmN22L0Aq4tR44jszRMR0eh3yH9XU+xosmY/N0nOf/wlvZEV5SW4cLjcupVyqDjYorczSL9DaLHe9qXLBf1upPPP0Gvg6/GqObMT7Ij4FoXB/70CHBqGr2Ws1myGveOr+AI4pQBAD4YiRXsCHvVt9Pf72wnMlFth3KApAl+6uWszu8PJWAcG4s9zKNOZp0mYROM3coLybPCuw+e+IZTZcRs5CBrOahdVUpnP6nbb2kaHGCb+ErahqJfTQPPXK2COQ1LhfqqmFtNxzoEfO1gKxdvBgKYskZniOarli8UGVlyLwa3w9npD/jEu/5fOImllRUM4KLcJOgwYDURioYTnTflXJ5FnT6X2NMfbeRYg3o8GCi9k8+zlfsPCUrQxgXEWnUh0lK6zjJbwd3GWC26uZq+m+fahoxDJaP/bhU31NUmGkyjJCUksWo1gzhr0AlLYj6FupmhlLxvgkjMzJIqgRACx25c62Oy6qNJ/7Kidg65+b/0tMqfJ52qoQgHtfnH8+sEhWuBzjkBur/kOQFoutiGm4kJ2tB1Ow8GcZic3npx9oVM64MvfgH9idWHBq1pDUiMioCkSfZaRu3b1Nifz5+scOT2Gfhd/hlkc4pLHg9utDWng4PKJxpMQFcIRtPwtOR4QQbJ0ERwyswvkQ8f7j9sC7Kcg9iffpMAp4UURT9oIilltq1AAsNItM+eu4YD+gZOonIOn9Gop8cA6UtrxVTuSpl8J97+vxtsxk/QPG5sdncw4X3tEajJrduaTXcDQGptoKUCfrqLtYXoSNnSzbewBphefUbTcFh5W0WhD0omZ49j6N359YQC97Dp5gCTlTPZyHZTsLCFeKvLwzLngl6c2yDaKyS5N37WWw2TYmD/p2lE6sj2bPorStdgrjOG4p9/HdNS6Tjh+Gh2+oDZ5BV2EVCxCJ2RYWJBlfTqre8Kk2B8LoAE8WTcMSwP8M6DPHPtxGj6o4GM4UIz6OMUb5wnclngyEnVFw00Ig+YoWmsNRX58NOLwc9o0MkyW2qoIEEun7ErOERFbZ+Z1H8DCM+03xC56ey1iLY2pfgNkhnf4mNVg65cM+SP3SmC/H6LggKp3j6Bw0iYlNIRg+gP4wyr9e2YhXLfQ0FOIZT4iQhZ2NIPB/91w+oQ6/VU+vh3LK3E8MY4hMkit39xWYKV+EW/wW6YHH1OcmTggQ0EBmdj/x4qSQQiTEjZrnzacQHlf08UQ/W9cHhrs8GLauh2k1J2mDWLa56J3IIaem5BiuB/sUcX4PCBuwtBWBtLiAu9iEAT1ZFNEIfEFisZrlrRR+bMAqWQP9JA+vtkPFIg/i6DH7ZgwBDwo9vdt9SCeVrISaMDQVRpccAPOZcaPNdSICMwvx0tRmk+6 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9638.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 876237ab-0544-4dc1-753a-08dbd11d64a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2023 03:33:57.5397 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: y39jn3YFUTjb3pTVXJkYJGw7YjkDJGx6Sn8VQKbqbd0ND2VHxTF6XPHwi/cvveuaogK9pxZVOpmlyp6uhgzMVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8236 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Added TLV command TLV_TYPE_UAP_MAC_ADDRESS for AP configuration. Without this TLV command, client can't connect to AP after restart of hostapd. Signed-off-by: David Lin --- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 2 ++ drivers/net/wireless/marvell/mwifiex/fw.h | 1 + drivers/net/wireless/marvell/mwifiex/ioctl.h | 1 + drivers/net/wireless/marvell/mwifiex/uap_cmd.c | 8 ++++++++ 4 files changed, 12 insertions(+) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index 2968db643ab4..40ab3e8d0c1c 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -2103,6 +2103,8 @@ static int mwifiex_cfg80211_start_ap(struct wiphy *wiphy, mwifiex_set_sys_config_invalid_data(bss_cfg); + memcpy(bss_cfg->mac_addr, priv->curr_addr, ETH_ALEN); + if (params->beacon_interval) bss_cfg->beacon_period = params->beacon_interval; if (params->dtim_period) diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h b/drivers/net/wireless/marvell/mwifiex/fw.h index 7080f8701952..699c7ffcd0e5 100644 --- a/drivers/net/wireless/marvell/mwifiex/fw.h +++ b/drivers/net/wireless/marvell/mwifiex/fw.h @@ -165,6 +165,7 @@ enum MWIFIEX_802_11_PRIVACY_FILTER { #define TLV_TYPE_STA_MAC_ADDR (PROPRIETARY_TLV_BASE_ID + 32) #define TLV_TYPE_BSSID (PROPRIETARY_TLV_BASE_ID + 35) #define TLV_TYPE_CHANNELBANDLIST (PROPRIETARY_TLV_BASE_ID + 42) +#define TLV_TYPE_UAP_MAC_ADDRESS (PROPRIETARY_TLV_BASE_ID + 43) #define TLV_TYPE_UAP_BEACON_PERIOD (PROPRIETARY_TLV_BASE_ID + 44) #define TLV_TYPE_UAP_DTIM_PERIOD (PROPRIETARY_TLV_BASE_ID + 45) #define TLV_TYPE_UAP_BCAST_SSID (PROPRIETARY_TLV_BASE_ID + 48) diff --git a/drivers/net/wireless/marvell/mwifiex/ioctl.h b/drivers/net/wireless/marvell/mwifiex/ioctl.h index 80ba79ca74c5..fbbb5aafb803 100644 --- a/drivers/net/wireless/marvell/mwifiex/ioctl.h +++ b/drivers/net/wireless/marvell/mwifiex/ioctl.h @@ -83,6 +83,7 @@ struct wep_key { #define MWIFIEX_OPERATING_CLASSES 16 struct mwifiex_uap_bss_param { + u8 mac_addr[ETH_ALEN]; u8 channel; u8 band_cfg; u16 rts_threshold; diff --git a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c index 91a8a581e3f5..c1133da28bc6 100644 --- a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c +++ b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c @@ -472,6 +472,7 @@ void mwifiex_config_uap_11d(struct mwifiex_private *priv, static int mwifiex_uap_bss_param_prepare(u8 *tlv, void *cmd_buf, u16 *param_size) { + struct host_cmd_tlv_mac_addr *mac_tlv; struct host_cmd_tlv_dtim_period *dtim_period; struct host_cmd_tlv_beacon_period *beacon_period; struct host_cmd_tlv_ssid *ssid; @@ -491,6 +492,13 @@ mwifiex_uap_bss_param_prepare(u8 *tlv, void *cmd_buf, u16 *param_size) int i; u16 cmd_size = *param_size; + mac_tlv = (struct host_cmd_tlv_mac_addr *)tlv; + mac_tlv->header.type = cpu_to_le16(TLV_TYPE_UAP_MAC_ADDRESS); + mac_tlv->header.len = cpu_to_le16(ETH_ALEN); + memcpy(mac_tlv->mac_addr, bss_cfg->mac_addr, ETH_ALEN); + cmd_size += sizeof(struct host_cmd_tlv_mac_addr); + tlv += sizeof(struct host_cmd_tlv_mac_addr); + if (bss_cfg->ssid.ssid_len) { ssid = (struct host_cmd_tlv_ssid *)tlv; ssid->header.type = cpu_to_le16(TLV_TYPE_UAP_SSID);