2017-11-21 07:24:32

by Xinming Hu

[permalink] [raw]
Subject: [PATCH] mwifiex: do not support change AP interface to station mode

Firmware do not support change interface from micro-ap mode to
station mode, forbidden this operation in driver accordingly.

Signed-off-by: Cathy Luo <[email protected]>
Signed-off-by: Xinming Hu <[email protected]>
---
drivers/net/wireless/marvell/mwifiex/cfg80211.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 6e0d9a9..a87758f 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -1181,6 +1181,12 @@ static int mwifiex_deinit_priv_params(struct mwifiex_private *priv)
switch (type) {
case NL80211_IFTYPE_ADHOC:
case NL80211_IFTYPE_STATION:
+ if (mwifiex_get_priv_by_id(priv->adapter, priv->bss_num,
+ MWIFIEX_BSS_TYPE_STA)){
+ mwifiex_dbg(priv->adapter, INFO,
+ "Skip change virtual interface\n");
+ return 0;
+ }
return mwifiex_change_vif_to_sta_adhoc(dev, curr_iftype,
type, params);
break;
--
1.9.1


2017-11-21 12:03:48

by Xinming Hu

[permalink] [raw]
Subject: RE: [EXT] Re: [PATCH] mwifiex: do not support change AP interface to station mode

SGkgSmFtZXMsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogcXVvemxA
bGFwdG9wLm9yZyBbbWFpbHRvOnF1b3psQGxhcHRvcC5vcmddDQo+IFNlbnQ6IDIwMTfE6jEx1MIy
McjVIDE2OjA0DQo+IFRvOiBYaW5taW5nIEh1IDxodXhtQG1hcnZlbGwuY29tPg0KPiBDYzogTGlu
dXggV2lyZWxlc3MgPGxpbnV4LXdpcmVsZXNzQHZnZXIua2VybmVsLm9yZz47IEthbGxlIFZhbG8N
Cj4gPGt2YWxvQGNvZGVhdXJvcmEub3JnPjsgQnJpYW4gTm9ycmlzIDxicmlhbm5vcnJpc0BjaHJv
bWl1bS5vcmc+OyBEbWl0cnkNCj4gVG9yb2tob3YgPGR0b3JAZ29vZ2xlLmNvbT47IHJhamF0amFA
Z29vZ2xlLmNvbTsgWmhpeXVhbiBZYW5nDQo+IDx5YW5nenlAbWFydmVsbC5jb20+OyBUaW0gU29u
ZyA8c29uZ3Rhb0BtYXJ2ZWxsLmNvbT47IENhdGh5IEx1bw0KPiA8Y2x1b0BtYXJ2ZWxsLmNvbT47
IEphbWVzIENhbyA8amNhb0BtYXJ2ZWxsLmNvbT47IEdhbmFwYXRoaSBCaGF0DQo+IDxnYmhhdEBt
YXJ2ZWxsLmNvbT47IEVsbGllIFJlZXZlcyA8ZWxsaWVyZXZ2ZXNAZ21haWwuY29tPg0KPiBTdWJq
ZWN0OiBbRVhUXSBSZTogW1BBVENIXSBtd2lmaWV4OiBkbyBub3Qgc3VwcG9ydCBjaGFuZ2UgQVAg
aW50ZXJmYWNlIHRvDQo+IHN0YXRpb24gbW9kZQ0KPiANCj4gRXh0ZXJuYWwgRW1haWwNCj4gDQo+
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0NCj4gT24gVHVlLCBOb3YgMjEsIDIwMTcgYXQgMDM6MjQ6MDNQTSArMDgw
MCwgWGlubWluZyBIdSB3cm90ZToNCj4gPiBGaXJtd2FyZSBkbyBub3Qgc3VwcG9ydCBjaGFuZ2Ug
aW50ZXJmYWNlIGZyb20gbWljcm8tYXAgbW9kZSB0byBzdGF0aW9uDQo+ID4gbW9kZSwgZm9yYmlk
ZGVuIHRoaXMgb3BlcmF0aW9uIGluIGRyaXZlciBhY2NvcmRpbmdseS4NCj4gDQo+IEFsbCBmaXJt
d2FyZSBvciBzcGVjaWZpYyB2ZXJzaW9ucz8NCj4gDQoNClRoaXMgcHJvcGVydHkgcmVzdWx0IGZy
b20gdGhlIGluaXRpYWwgZGVzaWduIGNvbnNpZGVyYXRpb24gaW4gZmlybXdhcmUuDQoNCj4gPg0K
PiA+IFNpZ25lZC1vZmYtYnk6IENhdGh5IEx1byA8Y2x1b0BtYXJ2ZWxsLmNvbT4NCj4gPiBTaWdu
ZWQtb2ZmLWJ5OiBYaW5taW5nIEh1IDxodXhtQG1hcnZlbGwuY29tPg0KPiA+IC0tLQ0KPiA+ICBk
cml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvY2ZnODAyMTEuYyB8IDYgKysrKysr
DQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1n
aXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvY2ZnODAyMTEuYw0KPiA+
IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L2NmZzgwMjExLmMNCj4gPiBp
bmRleCA2ZTBkOWE5Li5hODc3NThmIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L3dpcmVs
ZXNzL21hcnZlbGwvbXdpZmlleC9jZmc4MDIxMS5jDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvd2ly
ZWxlc3MvbWFydmVsbC9td2lmaWV4L2NmZzgwMjExLmMNCj4gPiBAQCAtMTE4MSw2ICsxMTgxLDEy
IEBAIHN0YXRpYyBpbnQgbXdpZmlleF9kZWluaXRfcHJpdl9wYXJhbXMoc3RydWN0DQo+IG13aWZp
ZXhfcHJpdmF0ZSAqcHJpdikNCj4gPiAgCQlzd2l0Y2ggKHR5cGUpIHsNCj4gPiAgCQljYXNlIE5M
ODAyMTFfSUZUWVBFX0FESE9DOg0KPiA+ICAJCWNhc2UgTkw4MDIxMV9JRlRZUEVfU1RBVElPTjoN
Cj4gPiArCQkJaWYgKG13aWZpZXhfZ2V0X3ByaXZfYnlfaWQocHJpdi0+YWRhcHRlciwgcHJpdi0+
YnNzX251bSwNCj4gPiArCQkJCQkJICAgTVdJRklFWF9CU1NfVFlQRV9TVEEpKXsNCj4gDQo+IElz
IHRoaXMgdGVzdCBuZWNlc3Nhcnk/DQoNCkhobiwgeWVzLCBXaWxsIHJlbW92ZSB0aGlzIGNoZWNr
LCB3aGljaCBjb21lcyBmcm9tIGEgZml4IGZvciBjb21ibyBzdGEvdWFwIGNhc2UuDQpUaGFua3Mg
Zm9yIHRoZSBzdWdnZXN0aW9uLg0KDQo+IA0KPiBkZXYtPmllZWU4MDIxMV9wdHItPmlmdHlwZSBp
cyBhbHdheXMgTkw4MDIxMV9JRlRZUEVfQVAgYXQgdGhpcyBwb2ludC4NCj4gDQo+ID4gKwkJCQlt
d2lmaWV4X2RiZyhwcml2LT5hZGFwdGVyLCBJTkZPLA0KPiA+ICsJCQkJCSAgICAiU2tpcCBjaGFu
Z2UgdmlydHVhbCBpbnRlcmZhY2VcbiIpOw0KPiANCj4gSXMgdGhpcyBtZXNzYWdlIGVhc3kgdG8g
dW5kZXJzdGFuZD8gIE90aGVyIG1lc3NhZ2VzIGluIHRoZSBzYW1lIGZ1bmN0aW9uDQo+IHNlZW0g
ZWFzaWVyOyBlLmcuICIlczogY2hhbmdpbmcgdG8gJWQgbm90IHN1cHBvcnRlZFxuIg0KDQpPSy4N
Cg0KPiANCj4gPiArCQkJCXJldHVybiAwOw0KPiANCj4gU2hvdWxkIHRoaXMgYmUgLUVPUE5PVFNV
UFAgcmF0aGVyIHRoYW4gMD8NCg0KWWVzLg0KDQo+IA0KPiA+ICsJCQl9DQo+ID4gIAkJCXJldHVy
biBtd2lmaWV4X2NoYW5nZV92aWZfdG9fc3RhX2FkaG9jKGRldiwgY3Vycl9pZnR5cGUsDQo+ID4g
IAkJCQkJCQkgICAgICAgdHlwZSwgcGFyYW1zKTsNCj4gPiAgCQkJYnJlYWs7DQo+ID4gLS0NCj4g
PiAxLjkuMQ0KPiA+DQo+IA0KPiAtLQ0KPiBKYW1lcyBDYW1lcm9uDQo+IGh0dHA6Ly9xdW96bC5u
ZXRyZWsub3JnLw0K

2017-11-21 19:21:34

by James Cameron

[permalink] [raw]
Subject: Re: [EXT] Re: [PATCH] mwifiex: do not support change AP interface to station mode

On Tue, Nov 21, 2017 at 12:03:19PM +0000, Xinming Hu wrote:
> Hi James,
>
> > -----Original Message-----
> > From: [email protected] [mailto:[email protected]]
> > Sent: 2017年11月21日 16:04
> > To: Xinming Hu <[email protected]>
> > Cc: Linux Wireless <[email protected]>; Kalle Valo
> > <[email protected]>; Brian Norris <[email protected]>; Dmitry
> > Torokhov <[email protected]>; [email protected]; Zhiyuan Yang
> > <[email protected]>; Tim Song <[email protected]>; Cathy Luo
> > <[email protected]>; James Cao <[email protected]>; Ganapathi Bhat
> > <[email protected]>; Ellie Reeves <[email protected]>
> > Subject: [EXT] Re: [PATCH] mwifiex: do not support change AP interface to
> > station mode
> >
> > External Email
> >
> > ----------------------------------------------------------------------
> > On Tue, Nov 21, 2017 at 03:24:03PM +0800, Xinming Hu wrote:
> > > Firmware do not support change interface from micro-ap mode to station
> > > mode, forbidden this operation in driver accordingly.
> >
> > All firmware or specific versions?
> >
>
> This property result from the initial design consideration in
> firmware.

Thanks. I maintain a product that uses your MV8787 device with
firmware sd8787_uapsta.bin and review mwifiex patches for local
backport.

>
> > >
> > > Signed-off-by: Cathy Luo <[email protected]>
> > > Signed-off-by: Xinming Hu <[email protected]>
> > > ---
> > > drivers/net/wireless/marvell/mwifiex/cfg80211.c | 6 ++++++
> > > 1 file changed, 6 insertions(+)
> > >
> > > diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> > > b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> > > index 6e0d9a9..a87758f 100644
> > > --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> > > +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> > > @@ -1181,6 +1181,12 @@ static int mwifiex_deinit_priv_params(struct
> > mwifiex_private *priv)
> > > switch (type) {
> > > case NL80211_IFTYPE_ADHOC:
> > > case NL80211_IFTYPE_STATION:
> > > + if (mwifiex_get_priv_by_id(priv->adapter, priv->bss_num,
> > > + MWIFIEX_BSS_TYPE_STA)){
> >
> > Is this test necessary?
>
> Hhn, yes, Will remove this check, which comes from a fix for combo sta/uap case.
> Thanks for the suggestion.
>
> >
> > dev->ieee80211_ptr->iftype is always NL80211_IFTYPE_AP at this point.
> >
> > > + mwifiex_dbg(priv->adapter, INFO,
> > > + "Skip change virtual interface\n");
> >
> > Is this message easy to understand? Other messages in the same function
> > seem easier; e.g. "%s: changing to %d not supported\n"
>
> OK.
>
> >
> > > + return 0;
> >
> > Should this be -EOPNOTSUPP rather than 0?
>
> Yes.
>
> >
> > > + }
> > > return mwifiex_change_vif_to_sta_adhoc(dev, curr_iftype,
> > > type, params);
> > > break;
> > > --
> > > 1.9.1
> > >
> >
> > --
> > James Cameron
> > http://quozl.netrek.org/

--
James Cameron
http://quozl.netrek.org/

2017-11-21 08:04:15

by James Cameron

[permalink] [raw]
Subject: Re: [PATCH] mwifiex: do not support change AP interface to station mode

On Tue, Nov 21, 2017 at 03:24:03PM +0800, Xinming Hu wrote:
> Firmware do not support change interface from micro-ap mode to
> station mode, forbidden this operation in driver accordingly.

All firmware or specific versions?

>
> Signed-off-by: Cathy Luo <[email protected]>
> Signed-off-by: Xinming Hu <[email protected]>
> ---
> drivers/net/wireless/marvell/mwifiex/cfg80211.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> index 6e0d9a9..a87758f 100644
> --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> @@ -1181,6 +1181,12 @@ static int mwifiex_deinit_priv_params(struct mwifiex_private *priv)
> switch (type) {
> case NL80211_IFTYPE_ADHOC:
> case NL80211_IFTYPE_STATION:
> + if (mwifiex_get_priv_by_id(priv->adapter, priv->bss_num,
> + MWIFIEX_BSS_TYPE_STA)){

Is this test necessary?

dev->ieee80211_ptr->iftype is always NL80211_IFTYPE_AP at this point.

> + mwifiex_dbg(priv->adapter, INFO,
> + "Skip change virtual interface\n");

Is this message easy to understand? Other messages in the same
function seem easier; e.g. "%s: changing to %d not supported\n"

> + return 0;

Should this be -EOPNOTSUPP rather than 0?

> + }
> return mwifiex_change_vif_to_sta_adhoc(dev, curr_iftype,
> type, params);
> break;
> --
> 1.9.1
>

--
James Cameron
http://quozl.netrek.org/