lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 225/849] mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type
    Date
    From: Jonas Dreßler <verdre@v0yd.nl>

    [ Upstream commit c2e9666cdffd347460a2b17988db4cfaf2a68fb9 ]

    We currently handle changing from the P2P to the STATION virtual
    interface type slightly different than changing from P2P to ADHOC: When
    changing to STATION, we don't send the SET_BSS_MODE command. We do send
    that command on all other type-changes though, and it probably makes
    sense to send the command since after all we just changed our BSS_MODE.
    Looking at prior changes to this part of the code, it seems that this is
    simply a leftover from old refactorings.

    Since sending the SET_BSS_MODE command is the only difference between
    mwifiex_change_vif_to_sta_adhoc() and the current code, we can now use
    mwifiex_change_vif_to_sta_adhoc() for both switching to ADHOC and
    STATION interface type.

    This does not fix any particular bug and just "looked right", so there's
    a small chance it might be a regression.

    Signed-off-by: Jonas Dreßler <verdre@v0yd.nl>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20210914195909.36035-4-verdre@v0yd.nl
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    .../net/wireless/marvell/mwifiex/cfg80211.c | 22 ++++---------------
    1 file changed, 4 insertions(+), 18 deletions(-)

    diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
    index 0961f4a5e415c..93eb5f109949f 100644
    --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
    +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
    @@ -1229,29 +1229,15 @@ mwifiex_cfg80211_change_virtual_intf(struct wiphy *wiphy,
    break;
    case NL80211_IFTYPE_P2P_CLIENT:
    case NL80211_IFTYPE_P2P_GO:
    + if (mwifiex_cfg80211_deinit_p2p(priv))
    + return -EFAULT;
    +
    switch (type) {
    - case NL80211_IFTYPE_STATION:
    - if (mwifiex_cfg80211_deinit_p2p(priv))
    - return -EFAULT;
    - priv->adapter->curr_iface_comb.p2p_intf--;
    - priv->adapter->curr_iface_comb.sta_intf++;
    - dev->ieee80211_ptr->iftype = type;
    - if (mwifiex_deinit_priv_params(priv))
    - return -1;
    - if (mwifiex_init_new_priv_params(priv, dev, type))
    - return -1;
    - if (mwifiex_sta_init_cmd(priv, false, false))
    - return -1;
    - break;
    case NL80211_IFTYPE_ADHOC:
    - if (mwifiex_cfg80211_deinit_p2p(priv))
    - return -EFAULT;
    + case NL80211_IFTYPE_STATION:
    return mwifiex_change_vif_to_sta_adhoc(dev, curr_iftype,
    type, params);
    - break;
    case NL80211_IFTYPE_AP:
    - if (mwifiex_cfg80211_deinit_p2p(priv))
    - return -EFAULT;
    return mwifiex_change_vif_to_ap(dev, curr_iftype, type,
    params);
    case NL80211_IFTYPE_UNSPECIFIED:
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-15 23:20    [W:4.049 / U:0.668 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site