linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] rt2x00: usb: fix reset resume
@ 2012-10-16 12:34 Stanislaw Gruszka
  2012-10-16 14:48 ` Gertjan van Wingerde
  2012-10-24 18:35 ` Stanislaw Gruszka
  0 siblings, 2 replies; 5+ messages in thread
From: Stanislaw Gruszka @ 2012-10-16 12:34 UTC (permalink / raw)
  To: John W. Linville; +Cc: linux-wireless, users, David Herrmann, Stephen Boyd

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


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

* Re: [PATCH] rt2x00: usb: fix reset resume
  2012-10-16 12:34 [PATCH] rt2x00: usb: fix reset resume Stanislaw Gruszka
@ 2012-10-16 14:48 ` Gertjan van Wingerde
  2012-10-24 18:35 ` Stanislaw Gruszka
  1 sibling, 0 replies; 5+ messages in thread
From: Gertjan van Wingerde @ 2012-10-16 14:48 UTC (permalink / raw)
  To: Stanislaw Gruszka
  Cc: John W. Linville, linux-wireless, users, David Herrmann,
	Stephen Boyd

On Tue, Oct 16, 2012 at 2:34 PM, Stanislaw Gruszka <sgruszka@redhat.com> wrote:
> 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>

Acked-by: Gertjan van Wingerde <gwingerde@gmail.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



-- 
---
Gertjan

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

* Re: [PATCH] rt2x00: usb: fix reset resume
  2012-10-16 12:34 [PATCH] rt2x00: usb: fix reset resume Stanislaw Gruszka
  2012-10-16 14:48 ` Gertjan van Wingerde
@ 2012-10-24 18:35 ` Stanislaw Gruszka
  2012-10-24 21:44   ` John W. Linville
  1 sibling, 1 reply; 5+ messages in thread
From: Stanislaw Gruszka @ 2012-10-24 18:35 UTC (permalink / raw)
  To: John W. Linville; +Cc: linux-wireless, users, David Herrmann, Stephen Boyd

On Tue, Oct 16, 2012 at 02:34:12PM +0200, Stanislaw Gruszka wrote:
> 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>

NACK for this patch, Randomly I'm able to reproduce strange crashes
when suspending and transiting data, which seem to not happen without
this patch. Until I'll figure this out, let's not apply the patch.

Stanislaw

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

* Re: [PATCH] rt2x00: usb: fix reset resume
  2012-10-24 18:35 ` Stanislaw Gruszka
@ 2012-10-24 21:44   ` John W. Linville
  2012-10-25 13:03     ` Stanislaw Gruszka
  0 siblings, 1 reply; 5+ messages in thread
From: John W. Linville @ 2012-10-24 21:44 UTC (permalink / raw)
  To: Stanislaw Gruszka; +Cc: linux-wireless, users, David Herrmann, Stephen Boyd

On Wed, Oct 24, 2012 at 08:35:26PM +0200, Stanislaw Gruszka wrote:
> On Tue, Oct 16, 2012 at 02:34:12PM +0200, Stanislaw Gruszka wrote:
> > 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>
> 
> NACK for this patch, Randomly I'm able to reproduce strange crashes
> when suspending and transiting data, which seem to not happen without
> this patch. Until I'll figure this out, let's not apply the patch.

Of course, I just applied this today...any chance for a fixup?

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

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

* Re: [PATCH] rt2x00: usb: fix reset resume
  2012-10-24 21:44   ` John W. Linville
@ 2012-10-25 13:03     ` Stanislaw Gruszka
  0 siblings, 0 replies; 5+ messages in thread
From: Stanislaw Gruszka @ 2012-10-25 13:03 UTC (permalink / raw)
  To: John W. Linville; +Cc: linux-wireless, users, David Herrmann, Stephen Boyd

On Wed, Oct 24, 2012 at 05:44:55PM -0400, John W. Linville wrote:
> On Wed, Oct 24, 2012 at 08:35:26PM +0200, Stanislaw Gruszka wrote:
> > On Tue, Oct 16, 2012 at 02:34:12PM +0200, Stanislaw Gruszka wrote:
> > > 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>
> > 
> > NACK for this patch, Randomly I'm able to reproduce strange crashes
> > when suspending and transiting data, which seem to not happen without
> > this patch. Until I'll figure this out, let's not apply the patch.
> 
> Of course, I just applied this today...any chance for a fixup?

This problem is tricky, I'm not expecting fix soon. However I can not
reproduce it on 3.7 and can on 3.6. So I think patch can go to 3.7 .
Could you remove cc stable from it? If not, I'll NACK backported patch,
when GregKH will send information about the backport.

Stanislaw 

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

end of thread, other threads:[~2012-10-25 13:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-16 12:34 [PATCH] rt2x00: usb: fix reset resume Stanislaw Gruszka
2012-10-16 14:48 ` Gertjan van Wingerde
2012-10-24 18:35 ` Stanislaw Gruszka
2012-10-24 21:44   ` John W. Linville
2012-10-25 13:03     ` Stanislaw Gruszka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).