All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mwifiex: check driver status in connect and scan handlers
@ 2015-01-07 11:57 Amitkumar Karwar
       [not found] ` <CAEhWJFnr28=Q4TFwzwcNoWPQRbUY0+mWu8nbocs3789v8X1PHw@mail.gmail.com>
  2015-01-23 17:03 ` Kalle Valo
  0 siblings, 2 replies; 5+ messages in thread
From: Amitkumar Karwar @ 2015-01-07 11:57 UTC (permalink / raw)
  To: linux-wireless; +Cc: Cathy Luo, Avinash Patil, Amitkumar Karwar

Ignore scan and connection requests from cfg80211 when driver
unload is in process or previous command has timed out due to
a firmware bug. This patch fixes corner case system crash
issues.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
---
 drivers/net/wireless/mwifiex/cfg80211.c | 8 ++++++++
 drivers/net/wireless/mwifiex/scan.c     | 6 ++++++
 2 files changed, 14 insertions(+)

diff --git a/drivers/net/wireless/mwifiex/cfg80211.c b/drivers/net/wireless/mwifiex/cfg80211.c
index 93ab36f..06feb44 100644
--- a/drivers/net/wireless/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/mwifiex/cfg80211.c
@@ -1784,6 +1784,7 @@ mwifiex_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
 			 struct cfg80211_connect_params *sme)
 {
 	struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);
+	struct mwifiex_adapter *adapter = priv->adapter;
 	int ret;
 
 	if (GET_BSS_ROLE(priv) != MWIFIEX_BSS_ROLE_STA) {
@@ -1798,6 +1799,13 @@ mwifiex_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
 		return -EALREADY;
 	}
 
+	if (adapter->surprise_removed || adapter->is_cmd_timedout) {
+		wiphy_err(wiphy,
+			  "%s: Ignore connection. Card removed or FW in bad state\n",
+			  dev->name);
+		return -EFAULT;
+	}
+
 	wiphy_dbg(wiphy, "info: Trying to associate to %s and bssid %pM\n",
 		  (char *) sme->ssid, sme->bssid);
 
diff --git a/drivers/net/wireless/mwifiex/scan.c b/drivers/net/wireless/mwifiex/scan.c
index 984a7a4..e304f07 100644
--- a/drivers/net/wireless/mwifiex/scan.c
+++ b/drivers/net/wireless/mwifiex/scan.c
@@ -1429,6 +1429,12 @@ int mwifiex_scan_networks(struct mwifiex_private *priv,
 		return -EBUSY;
 	}
 
+	if (adapter->surprise_removed || adapter->is_cmd_timedout) {
+		dev_err(adapter->dev,
+			"Ignore scan. Card removed or firmware in bad state\n");
+		return -EFAULT;
+	}
+
 	spin_lock_irqsave(&adapter->mwifiex_cmd_lock, flags);
 	adapter->scan_processing = true;
 	spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, flags);
-- 
1.8.1.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [PATCH] mwifiex: check driver status in connect and scan handlers
       [not found] ` <CAEhWJFnr28=Q4TFwzwcNoWPQRbUY0+mWu8nbocs3789v8X1PHw@mail.gmail.com>
@ 2015-01-17 13:05   ` Amitkumar Karwar
  2015-01-22 14:13     ` Kalle Valo
  0 siblings, 1 reply; 5+ messages in thread
From: Amitkumar Karwar @ 2015-01-17 13:05 UTC (permalink / raw)
  To: Kalle Valo; +Cc: Avinash Patil, Cathy Luo, linux-wireless

SGkgS2FsbGUsDQoNCj5PbiBXZWQsIEphbiA3LCAyMDE1IGF0IDU6MjcgUE0sIEFtaXRrdW1hciBL
YXJ3YXIgPGFrYXJ3YXJAbWFydmVsbC5jb20+IHdyb3RlOg0KPklnbm9yZSBzY2FuIGFuZCBjb25u
ZWN0aW9uIHJlcXVlc3RzIGZyb20gY2ZnODAyMTEgd2hlbiBkcml2ZXINCj51bmxvYWQgaXMgaW4g
cHJvY2VzcyBvciBwcmV2aW91cyBjb21tYW5kIGhhcyB0aW1lZCBvdXQgZHVlIHRvDQo+YSBmaXJt
d2FyZSBidWcuIFRoaXMgcGF0Y2ggZml4ZXMgY29ybmVyIGNhc2Ugc3lzdGVtIGNyYXNoDQo+aXNz
dWVzLg0KDQo+U2lnbmVkLW9mZi1ieTogQW1pdGt1bWFyIEthcndhciA8YWthcndhckBtYXJ2ZWxs
LmNvbT4NCj5TaWduZWQtb2ZmLWJ5OiBDYXRoeSBMdW8gPGNsdW9AbWFydmVsbC5jb20+DQo+LS0t
DQo+wqBkcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L2NmZzgwMjExLmMgfCA4ICsrKysrKysr
DQo+wqBkcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L3NjYW4uY8KgIMKgIMKgfCA2ICsrKysr
Kw0KPsKgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspDQoNCkNvdWxkIHlvdSBwbGVh
c2UgY2hlY2sgdGhpcyBwYXRjaD8gTGV0IG1lIGtub3cgaWYgeW91IHdhbnQgbWUgdG8gcmVzZW5k
IGl0Lg0KDQpCZXN0IHJlZ2FyZHMsDQpBbWl0DQo=

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] mwifiex: check driver status in connect and scan handlers
  2015-01-17 13:05   ` Amitkumar Karwar
@ 2015-01-22 14:13     ` Kalle Valo
  2015-01-23  3:49       ` Amitkumar Karwar
  0 siblings, 1 reply; 5+ messages in thread
From: Kalle Valo @ 2015-01-22 14:13 UTC (permalink / raw)
  To: Amitkumar Karwar; +Cc: Avinash Patil, Cathy Luo, linux-wireless

Amitkumar Karwar <akarwar@marvell.com> writes:

> Hi Kalle,
>
>>On Wed, Jan 7, 2015 at 5:27 PM, Amitkumar Karwar <akarwar@marvell.com> wrote:
>>Ignore scan and connection requests from cfg80211 when driver
>>unload is in process or previous command has timed out due to
>>a firmware bug. This patch fixes corner case system crash
>>issues.
>
>>Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
>>Signed-off-by: Cathy Luo <cluo@marvell.com>
>>---
>> drivers/net/wireless/mwifiex/cfg80211.c | 8 ++++++++
>> drivers/net/wireless/mwifiex/scan.c     | 6 ++++++
>> 2 files changed, 14 insertions(+)
>
> Could you please check this patch? Let me know if you want me to
> resend it.

Unfortunately I'm lagging behind because I decided to work on automating
the patch handling. I'm hoping that makes it easier for me to stay
up-to-date.

Also it would help me that instead of mailing me people would check the
status from the patchwork:

https://patchwork.kernel.org/project/linux-wireless/list/

If the patch is delegated to me and state is one of "New", "Under
Review" or "Awaiting Upstream" it means that the patch is in queue of
patches to process. If it's anything else it means that the patch is
dropped due to some reason, either for a reason (issues found during
review etc) or accidentally (which can also happen in rare cases).

This patch is in 'Under Review' state so I will get to it eventually:

https://patchwork.kernel.org/patch/5584351/

And even looks to be in top of my list so it shouldn't take long.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] mwifiex: check driver status in connect and scan handlers
  2015-01-22 14:13     ` Kalle Valo
@ 2015-01-23  3:49       ` Amitkumar Karwar
  0 siblings, 0 replies; 5+ messages in thread
From: Amitkumar Karwar @ 2015-01-23  3:49 UTC (permalink / raw)
  To: Kalle Valo; +Cc: Avinash Patil, Cathy Luo, linux-wireless

SGkgS2FsbG8sDQoNCj5vd25lckB2Z2VyLmtlcm5lbC5vcmddIE9uIEJlaGFsZiBPZiBLYWxsZSBW
YWxvDQo+U2VudDogMjIgSmFudWFyeSAyMDE1IDE5OjQzDQo+VG86IEFtaXRrdW1hciBLYXJ3YXIN
Cj5DYzogQXZpbmFzaCBQYXRpbDsgQ2F0aHkgTHVvOyBsaW51eC13aXJlbGVzc0B2Z2VyLmtlcm5l
bC5vcmcNCj5TdWJqZWN0OiBSZTogW1BBVENIXSBtd2lmaWV4OiBjaGVjayBkcml2ZXIgc3RhdHVz
IGluIGNvbm5lY3QgYW5kIHNjYW4NCj5oYW5kbGVycw0KPg0KPkFtaXRrdW1hciBLYXJ3YXIgPGFr
YXJ3YXJAbWFydmVsbC5jb20+IHdyaXRlczoNCj4NCj4+IEhpIEthbGxlLA0KPj4NCj4+Pk9uIFdl
ZCwgSmFuIDcsIDIwMTUgYXQgNToyNyBQTSwgQW1pdGt1bWFyIEthcndhciA8YWthcndhckBtYXJ2
ZWxsLmNvbT4NCj53cm90ZToNCj4+Pklnbm9yZSBzY2FuIGFuZCBjb25uZWN0aW9uIHJlcXVlc3Rz
IGZyb20gY2ZnODAyMTEgd2hlbiBkcml2ZXIgdW5sb2FkDQo+Pj5pcyBpbiBwcm9jZXNzIG9yIHBy
ZXZpb3VzIGNvbW1hbmQgaGFzIHRpbWVkIG91dCBkdWUgdG8gYSBmaXJtd2FyZSBidWcuDQo+Pj5U
aGlzIHBhdGNoIGZpeGVzIGNvcm5lciBjYXNlIHN5c3RlbSBjcmFzaCBpc3N1ZXMuDQo+Pg0KPj4+
U2lnbmVkLW9mZi1ieTogQW1pdGt1bWFyIEthcndhciA8YWthcndhckBtYXJ2ZWxsLmNvbT4NCj4+
PlNpZ25lZC1vZmYtYnk6IENhdGh5IEx1byA8Y2x1b0BtYXJ2ZWxsLmNvbT4NCj4+Pi0tLQ0KPj4+
wqBkcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L2NmZzgwMjExLmMgfCA4ICsrKysrKysrDQo+
Pj7CoGRyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvc2Nhbi5jwqAgwqAgwqB8IDYgKysrKysr
DQo+Pj7CoDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQ0KPj4NCj4+IENvdWxkIHlv
dSBwbGVhc2UgY2hlY2sgdGhpcyBwYXRjaD8gTGV0IG1lIGtub3cgaWYgeW91IHdhbnQgbWUgdG8N
Cj4+IHJlc2VuZCBpdC4NCj4NCj5VbmZvcnR1bmF0ZWx5IEknbSBsYWdnaW5nIGJlaGluZCBiZWNh
dXNlIEkgZGVjaWRlZCB0byB3b3JrIG9uIGF1dG9tYXRpbmcNCj50aGUgcGF0Y2ggaGFuZGxpbmcu
IEknbSBob3BpbmcgdGhhdCBtYWtlcyBpdCBlYXNpZXIgZm9yIG1lIHRvIHN0YXkgdXAtDQo+dG8t
ZGF0ZS4NCj4NCj5BbHNvIGl0IHdvdWxkIGhlbHAgbWUgdGhhdCBpbnN0ZWFkIG9mIG1haWxpbmcg
bWUgcGVvcGxlIHdvdWxkIGNoZWNrIHRoZQ0KPnN0YXR1cyBmcm9tIHRoZSBwYXRjaHdvcms6DQo+
DQo+aHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L2xpbnV4LXdpcmVsZXNzL2xp
c3QvDQo+DQo+SWYgdGhlIHBhdGNoIGlzIGRlbGVnYXRlZCB0byBtZSBhbmQgc3RhdGUgaXMgb25l
IG9mICJOZXciLCAiVW5kZXINCj5SZXZpZXciIG9yICJBd2FpdGluZyBVcHN0cmVhbSIgaXQgbWVh
bnMgdGhhdCB0aGUgcGF0Y2ggaXMgaW4gcXVldWUgb2YNCj5wYXRjaGVzIHRvIHByb2Nlc3MuIElm
IGl0J3MgYW55dGhpbmcgZWxzZSBpdCBtZWFucyB0aGF0IHRoZSBwYXRjaCBpcw0KPmRyb3BwZWQg
ZHVlIHRvIHNvbWUgcmVhc29uLCBlaXRoZXIgZm9yIGEgcmVhc29uIChpc3N1ZXMgZm91bmQgZHVy
aW5nDQo+cmV2aWV3IGV0Yykgb3IgYWNjaWRlbnRhbGx5ICh3aGljaCBjYW4gYWxzbyBoYXBwZW4g
aW4gcmFyZSBjYXNlcykuDQo+DQo+VGhpcyBwYXRjaCBpcyBpbiAnVW5kZXIgUmV2aWV3JyBzdGF0
ZSBzbyBJIHdpbGwgZ2V0IHRvIGl0IGV2ZW50dWFsbHk6DQo+DQo+aHR0cHM6Ly9wYXRjaHdvcmsu
a2VybmVsLm9yZy9wYXRjaC81NTg0MzUxLw0KPg0KDQpUaGFua3MgZm9yIHlvdXIgcmVwbHkuIFNv
dW5kcyBnb29kIHRvIG1lLiANCg0KUmVnYXJkcywNCkFtaXRrdW1hcg0K

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mwifiex: check driver status in connect and scan handlers
  2015-01-07 11:57 [PATCH] mwifiex: check driver status in connect and scan handlers Amitkumar Karwar
       [not found] ` <CAEhWJFnr28=Q4TFwzwcNoWPQRbUY0+mWu8nbocs3789v8X1PHw@mail.gmail.com>
@ 2015-01-23 17:03 ` Kalle Valo
  1 sibling, 0 replies; 5+ messages in thread
From: Kalle Valo @ 2015-01-23 17:03 UTC (permalink / raw)
  To: Amitkumar Karwar
  Cc: linux-wireless, Cathy Luo, Avinash Patil, Amitkumar Karwar


> Ignore scan and connection requests from cfg80211 when driver
> unload is in process or previous command has timed out due to
> a firmware bug. This patch fixes corner case system crash
> issues.
> 
> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
> Signed-off-by: Cathy Luo <cluo@marvell.com>

Thanks, applied to wireless-drivers-next.git.

Kalle Valo

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-01-23 17:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-07 11:57 [PATCH] mwifiex: check driver status in connect and scan handlers Amitkumar Karwar
     [not found] ` <CAEhWJFnr28=Q4TFwzwcNoWPQRbUY0+mWu8nbocs3789v8X1PHw@mail.gmail.com>
2015-01-17 13:05   ` Amitkumar Karwar
2015-01-22 14:13     ` Kalle Valo
2015-01-23  3:49       ` Amitkumar Karwar
2015-01-23 17:03 ` Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.