Message ID | 1504118818-1749-1-git-send-email-gbhat@marvell.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
On Thu, Aug 31, 2017 at 12:16:58AM +0530, Ganapathi Bhat wrote: > If driver is loaded with 'mfg_mode' enabled, then the sending > commands are not allowed. So, when mwifiex_send_cmd fails in > mwifiex_add_virtual_intf, driver must check for 'mfg_mode' before > returning error. > > Fixes: 7311ea850079 ("mwifiex: fix AP start problem for newly added interface") > Signed-off-by: Ganapathi Bhat <gbhat@marvell.com> > --- > drivers/net/wireless/marvell/mwifiex/cfg80211.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c > index ffada17..1856205 100644 > --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c > +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c > @@ -2967,11 +2967,11 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct wiphy *wiphy, > > ret = mwifiex_send_cmd(priv, HostCmd_CMD_SET_BSS_MODE, > HostCmd_ACT_GEN_SET, 0, NULL, true); > - if (ret) > + if (ret && !adapter->mfg_mode) It doesn't feel like ignoring errors is the best approach here, especially when it's only a single command that we could easily just skip. So, why don't you just skip it, like this? if (!adapter->mfg_mode) { ret = mwifiex_send_cmd(...); if (ret) goto err_set_bss_mode; } > goto err_set_bss_mode; > > ret = mwifiex_sta_init_cmd(priv, false, false); > - if (ret) > + if (ret && !adapter->mfg_mode) > goto err_sta_init; Same here; I think it's safe to just completely skip mwifiex_sta_init_cmd(), no? Brian > > mwifiex_setup_ht_caps(&wiphy->bands[NL80211_BAND_2GHZ]->ht_cap, priv); > -- > 1.9.1 >
Hi Brian, > > ---------------------------------------------------------------------- > On Thu, Aug 31, 2017 at 12:16:58AM +0530, Ganapathi Bhat wrote: > > If driver is loaded with 'mfg_mode' enabled, then the sending > commands > > are not allowed. So, when mwifiex_send_cmd fails in > > mwifiex_add_virtual_intf, driver must check for 'mfg_mode' before > > returning error. > > > > Fixes: 7311ea850079 ("mwifiex: fix AP start problem for newly added > > interface") > > Signed-off-by: Ganapathi Bhat <gbhat@marvell.com> > > --- > > drivers/net/wireless/marvell/mwifiex/cfg80211.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c > > b/drivers/net/wireless/marvell/mwifiex/cfg80211.c > > index ffada17..1856205 100644 > > --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c > > +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c > > @@ -2967,11 +2967,11 @@ struct wireless_dev > > *mwifiex_add_virtual_intf(struct wiphy *wiphy, > > > > ret = mwifiex_send_cmd(priv, HostCmd_CMD_SET_BSS_MODE, > > HostCmd_ACT_GEN_SET, 0, NULL, true); > > - if (ret) > > + if (ret && !adapter->mfg_mode) > > It doesn't feel like ignoring errors is the best approach here, > especially when it's only a single command that we could easily just > skip. Got it. > > So, why don't you just skip it, like this? > > if (!adapter->mfg_mode) { Yes. This is better. > ret = mwifiex_send_cmd(...); > if (ret) > goto err_set_bss_mode; > } > > > goto err_set_bss_mode; > > > > ret = mwifiex_sta_init_cmd(priv, false, false); > > - if (ret) > > + if (ret && !adapter->mfg_mode) > > goto err_sta_init; > > Same here; I think it's safe to just completely skip > mwifiex_sta_init_cmd(), no? Yes. I have sent v2 of these changes. > > Brian > > > > > mwifiex_setup_ht_caps(&wiphy->bands[NL80211_BAND_2GHZ]->ht_cap, > > priv); > > -- > > 1.9.1 > > Thanks, Ganapathi
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index ffada17..1856205 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -2967,11 +2967,11 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct wiphy *wiphy, ret = mwifiex_send_cmd(priv, HostCmd_CMD_SET_BSS_MODE, HostCmd_ACT_GEN_SET, 0, NULL, true); - if (ret) + if (ret && !adapter->mfg_mode) goto err_set_bss_mode; ret = mwifiex_sta_init_cmd(priv, false, false); - if (ret) + if (ret && !adapter->mfg_mode) goto err_sta_init; mwifiex_setup_ht_caps(&wiphy->bands[NL80211_BAND_2GHZ]->ht_cap, priv);
If driver is loaded with 'mfg_mode' enabled, then the sending commands are not allowed. So, when mwifiex_send_cmd fails in mwifiex_add_virtual_intf, driver must check for 'mfg_mode' before returning error. Fixes: 7311ea850079 ("mwifiex: fix AP start problem for newly added interface") Signed-off-by: Ganapathi Bhat <gbhat@marvell.com> --- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)