Search Linux Wireless

Re: mwifiex frequent "not allowed while suspended" crash on resume

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

 



On Thu, Apr 25, 2013 at 6:40 PM, Bing Zhao <bzhao@xxxxxxxxxxx> wrote:
> No, it's not OK to transmit before the host sleep is cancelled.
> I was under the assumption that no TX packet is from kernel during the time we cancel host sleep. This assumption can be wrong without netif_device_detach, etc.

OK, this is a fair statement to make. But the presence of (not
entirely working) mechanisms in the code such as the is_suspended flag
that seem to work towards the same goal don't really seem to agree.

Maybe we can drop is_suspended and just stop the TX queue as
appropriate (via netif_device_detach or similar). That would leave us
with both a clear design and a working implementation.

Unless I am missing something, is_suspended only really seems to have
what I would regard as a clear and valid use in the USB subdriver.

> Could you try resetting is_suspend flag when an early RX is received?
>
> +++ b/drivers/net/wireless/mwifiex/cmdevt.c
> @@ -1191,6 +1191,7 @@ mwifiex_process_hs_config(struct mwifiex_adapter *adapter)
>         adapter->if_ops.wakeup(adapter);
>         adapter->hs_activated = false;
>         adapter->is_hs_configured = false;
> +       adapter->is_suspended = false;
>         mwifiex_hs_activated_event(mwifiex_get_priv(adapter,
>                                                     MWIFIEX_BSS_ROLE_ANY),
>                                    false);

This seems to avoid the issue: no error messages during resume, and
the interface remains functional.

Thanks
Daniel
--
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