Search Linux Wireless

Re: [PATCH] rt2x00: usb: fix reset resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 16, 2012 at 2:34 PM, Stanislaw Gruszka <sgruszka@xxxxxxxxxx> 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@xxxxxxxxxxxxxx>
> Reported-and-tested-by: Stephen Boyd <bebarino@xxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>

Acked-by: Gertjan van Wingerde <gwingerde@xxxxxxxxx>

> ---
>  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@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
---
Gertjan
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux