Search Linux Wireless

mwifiex: update set_mac_address logic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Sharvari Harisangam <sharvari@xxxxxxxxxxx>
Date: Wed, 27 Mar 2019 11:47:03 +0530
Subject: mwifiex: update set_mac_address logic

In set_mac_address, driver check for interfaces with same bss_type
For first STA entry, this would return 3 interfaces since all priv's have
bss_type as 0 due to kzalloc. Thus mac address gets changed for STA
unexpected. This patch adds check for first STA and avoids mac address
change. This patch also adds mac_address change for p2p based on bss_num
type.

Signed-off-by: Sharvari Harisangam <sharvari@xxxxxxxxxxx>
Signed-off-by: Ganapathi Bhat <gbhat@xxxxxxxxxxx>
---
 drivers/net/wireless/marvell/mwifiex/main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c
index 5ed2d9b..4eabd94 100644
--- a/drivers/net/wireless/marvell/mwifiex/main.c
+++ b/drivers/net/wireless/marvell/mwifiex/main.c
@@ -965,10 +965,10 @@ int mwifiex_set_mac_address(struct mwifiex_private *priv,

        mac_addr = old_mac_addr;

-       if (priv->bss_type == MWIFIEX_BSS_TYPE_P2P)
+       if (priv->bss_type == MWIFIEX_BSS_TYPE_P2P) {
            mac_addr |= BIT_ULL(MWIFIEX_MAC_LOCAL_ADMIN_BIT);
-
-       if (mwifiex_get_intf_num(priv->adapter, priv->bss_type) > 1) {
+           mac_addr += priv->bss_num;
+       } else if (priv->adapter->priv[0] != priv) {
            /* Set mac address based on bss_type/bss_num */
            mac_addr ^= BIT_ULL(priv->bss_type + 8);
            mac_addr += priv->bss_num;
-- 
1.9.1





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux