Fix rt2x00 usb reset resume (rhbz 856863)
This commit is contained in:
parent
aefdd98114
commit
d5d47dc016
11
kernel.spec
11
kernel.spec
|
@ -62,7 +62,7 @@ Summary: The Linux kernel
|
|||
# For non-released -rc kernels, this will be appended after the rcX and
|
||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||
#
|
||||
%global baserelease 1
|
||||
%global baserelease 2
|
||||
%global fedora_build %{baserelease}
|
||||
|
||||
# base_sublevel is the kernel version we're starting with and patching
|
||||
|
@ -770,6 +770,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
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
|
@ -1490,6 +1493,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
|
||||
|
@ -2342,6 +2348,9 @@ fi
|
|||
# ||----w |
|
||||
# || ||
|
||||
%changelog
|
||||
* Mon Oct 22 2012 Josh Boyer <jwboyer@redhat.com>
|
||||
- Fix rt2x00 usb reset resume (rhbz 856863)
|
||||
|
||||
* Mon Oct 22 2012 Justin M. Forbes <jforbes@linuxtx.org> - 3.6.3-1
|
||||
- Linux 3.6.3
|
||||
|
||||
|
|
|
@ -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@googlemail.com>
|
||||
Reported-and-tested-by: Stephen Boyd <bebarino@gmail.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka@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@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
Loading…
Reference in New Issue