From: Xinming Hu Date: Wed, 25 Apr 2018 09:38:14 +0000 (+0800) Subject: mwifiex: keep user configured mac address during changing virtual interface X-Git-Tag: v4.18-rc1~114^2~217^2~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7cce13954f0e6b16b4c18a3985387018f2e3e44e;p=thirdparty%2Fkernel%2Flinux.git mwifiex: keep user configured mac address during changing virtual interface During changing virtual interface, keep using previous net device mac address. Signed-off-by: Xinming Hu Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c index 40c80e38a74b2..510f6b8e717d7 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.c +++ b/drivers/net/wireless/marvell/mwifiex/main.c @@ -1333,7 +1333,10 @@ void mwifiex_init_priv_params(struct mwifiex_private *priv, priv->assocresp_idx = MWIFIEX_AUTO_IDX_MASK; priv->gen_idx = MWIFIEX_AUTO_IDX_MASK; priv->num_tx_timeout = 0; - ether_addr_copy(priv->curr_addr, priv->adapter->perm_addr); + if (is_valid_ether_addr(dev->dev_addr)) + ether_addr_copy(priv->curr_addr, dev->dev_addr); + else + ether_addr_copy(priv->curr_addr, priv->adapter->perm_addr); if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_STA || GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_UAP) {