[kernel/f17] Fix rt2x00 usb reset resume (rhbz 856863)
Josh Boyer
jwboyer at fedoraproject.org
Mon Oct 22 12:34:49 UTC 2012
commit 951aef5850e02af931f3383906660a35c82313cc
Author: Josh Boyer <jwboyer at redhat.com>
Date: Mon Oct 22 08:32:00 2012 -0400
Fix rt2x00 usb reset resume (rhbz 856863)
kernel.spec | 7 ++++
rt2x00-usb-fix-reset-resume.patch | 70 +++++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+), 0 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index ddbf7f5..2c2a1ae 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -753,6 +753,9 @@ Patch22073: mac80211_local_deauth_v3.6.patch
#rhbz 866013
Patch22074: mac80211-connect-with-HT20-if-HT40-is-not-permitted.patch
+#rhbz 856863
+Patch22075: rt2x00-usb-fix-reset-resume.patch
+
Patch22072: linux-3.6-arm-build-fixup.patch
# END OF PATCH DEFINITIONS
@@ -1459,6 +1462,9 @@ ApplyPatch mac80211_local_deauth_v3.6.patch
#rhbz 866013
ApplyPatch mac80211-connect-with-HT20-if-HT40-is-not-permitted.patch
+#rhbz 856863
+ApplyPatch rt2x00-usb-fix-reset-resume.patch
+
# END OF PATCH APPLICATIONS
%endif
@@ -2323,6 +2329,7 @@ fi
# '-'
%changelog
* Mon Oct 22 2012 Josh Boyer <jwboyer at redhat.com>
+- Fix rt2x00 usb reset resume (rhbz 856863)
- Linux v3.6.3
* Mon Oct 22 2012 Peter Robinson <pbrobinson at fedoraproject.org>
diff --git a/rt2x00-usb-fix-reset-resume.patch b/rt2x00-usb-fix-reset-resume.patch
new file mode 100644
index 0000000..07d2b4c
--- /dev/null
+++ b/rt2x00-usb-fix-reset-resume.patch
@@ -0,0 +1,70 @@
+Patch fixes warnings like below happened on resume:
+
+WARNING: at net/mac80211/driver-ops.h:12 check_sdata_in_driver+0x32/0x34()
+
+Problem is that in __ieee80211_susped() we remove sdata (i.e wlan0
+interface) and then during resume we call usb_unbind_interface() ->
+ieee80211_unregister_hw() with sdata removed.
+
+Patch fixes problem by adding .reset_resume calback, hence we do not
+unbind usb device on resume. This callback can be the same as normal
+.resume callback, sice we do all needed initalization during interface
+start, which is performed on resume [ ieee80211_resume() ->
+ieee80211_reconfig() -> rt2x00mac_start() -> rt2x00lib_start ].
+
+Resolves:
+https://bugzilla.kernel.org/show_bug.cgi?id=48041
+
+Reported-by: David Herrmann <dh.herrmann at googlemail.com>
+Reported-and-tested-by: Stephen Boyd <bebarino at gmail.com>
+Cc: stable at vger.kernel.org
+Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>
+---
+ drivers/net/wireless/rt2x00/rt2500usb.c | 1 +
+ drivers/net/wireless/rt2x00/rt2800usb.c | 1 +
+ drivers/net/wireless/rt2x00/rt73usb.c | 1 +
+ 3 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
+index a12e84f..6b2e1e4 100644
+--- a/drivers/net/wireless/rt2x00/rt2500usb.c
++++ b/drivers/net/wireless/rt2x00/rt2500usb.c
+@@ -1988,6 +1988,7 @@ static struct usb_driver rt2500usb_driver = {
+ .disconnect = rt2x00usb_disconnect,
+ .suspend = rt2x00usb_suspend,
+ .resume = rt2x00usb_resume,
++ .reset_resume = rt2x00usb_resume,
+ .disable_hub_initiated_lpm = 1,
+ };
+
+diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
+index c9e9370..3b8fb5a 100644
+--- a/drivers/net/wireless/rt2x00/rt2800usb.c
++++ b/drivers/net/wireless/rt2x00/rt2800usb.c
+@@ -1282,6 +1282,7 @@ static struct usb_driver rt2800usb_driver = {
+ .disconnect = rt2x00usb_disconnect,
+ .suspend = rt2x00usb_suspend,
+ .resume = rt2x00usb_resume,
++ .reset_resume = rt2x00usb_resume,
+ .disable_hub_initiated_lpm = 1,
+ };
+
+diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c
+index e5eb43b..24eec66 100644
+--- a/drivers/net/wireless/rt2x00/rt73usb.c
++++ b/drivers/net/wireless/rt2x00/rt73usb.c
+@@ -2535,6 +2535,7 @@ static struct usb_driver rt73usb_driver = {
+ .disconnect = rt2x00usb_disconnect,
+ .suspend = rt2x00usb_suspend,
+ .resume = rt2x00usb_resume,
++ .reset_resume = rt2x00usb_resume,
+ .disable_hub_initiated_lpm = 1,
+ };
+
+--
+1.7.1
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
+the body of a message to majordomo at vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
\ No newline at end of file
More information about the scm-commits
mailing list