lkml.org 
[lkml]   [2014]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.8 34/86] mwifiex: do not advertise usb autosuspend support
    Date
    3.8.13.21 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Bing Zhao <bzhao@marvell.com>

    commit adb07df1e039e9fe43e66aeea8b4771f83659dbb upstream.

    As many Surface Pro I & II users have found out, the mwifiex_usb
    doesn't support usb autosuspend, and it has caused some system
    stability issues.

    Bug 69661 - mwifiex_usb on MS Surface Pro 1 is unstable
    Bug 60815 - Interface hangs in mwifiex_usb
    Bug 64111 - mwifiex_usb USB8797 crash failed to get signal
    information

    USB autosuspend get triggered when Surface Pro's AC power is
    removed or powertop enables power saving on USB8797 device.
    Driver's suspend handler is called here, but resume handler
    won't be called until the AC power is put back on or powertop
    disables power saving for USB8797.

    We need to refactor the suspend/resume handlers to support
    usb autosuspend properly. For now let's just remove it.

    Signed-off-by: Bing Zhao <bzhao@marvell.com>
    Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/net/wireless/mwifiex/usb.c | 8 --------
    1 file changed, 8 deletions(-)

    diff --git a/drivers/net/wireless/mwifiex/usb.c b/drivers/net/wireless/mwifiex/usb.c
    index b96472c..6478366 100644
    --- a/drivers/net/wireless/mwifiex/usb.c
    +++ b/drivers/net/wireless/mwifiex/usb.c
    @@ -511,13 +511,6 @@ static int mwifiex_usb_resume(struct usb_interface *intf)
    MWIFIEX_BSS_ROLE_ANY),
    MWIFIEX_ASYNC_CMD);

    -#ifdef CONFIG_PM
    - /* Resume handler may be called due to remote wakeup,
    - * force to exit suspend anyway
    - */
    - usb_disable_autosuspend(card->udev);
    -#endif /* CONFIG_PM */
    -
    return 0;
    }

    @@ -576,7 +569,6 @@ static struct usb_driver mwifiex_usb_driver = {
    .id_table = mwifiex_usb_table,
    .suspend = mwifiex_usb_suspend,
    .resume = mwifiex_usb_resume,
    - .supports_autosuspend = 1,
    };

    static int mwifiex_usb_tx_init(struct mwifiex_adapter *adapter)
    --
    1.8.3.2


    \
     
     \ /
      Last update: 2014-04-01 19:01    [W:3.662 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site