RE: [PATCH v2] r8152: fix lockup when runtime PM is enabled

From: Hayes Wang
Date: Tue Dec 08 2015 - 07:39:40 EST


Peter Wu [mailto:peter@xxxxxxxxxxxxx]
> Sent: Tuesday, December 08, 2015 7:18 PM
>
> When an interface is brought up which was previously suspended (via
> runtime PM), it would hang. This happens because napi_disable is called
> before napi_enable.
>
> Solve this by avoiding napi_enable in the resume during open function
> (netif_running is true when open is called, IFF_UP is set after a
> successful open; netif_running is false when close is called, but IFF_UP
> is then still set).
>
> While at it, remove WORK_ENABLE check from rtl8152_open (introduced with
> the original change) because it cannot happen:
>
> - After this patch, runtime resume will not set it during rtl8152_open.
> - When link is up, rtl8152_open is not called.
> - When link is down during system/auto suspend/resume, it is not set.
>
> Fixes: 41cec84cf285 ("r8152: don't enable napi before rx ready")
> Link: https://lkml.kernel.org/r/20151205105912.GA1766@al
> Signed-off-by: Peter Wu <peter@xxxxxxxxxxxxx>
> ---
> v2: moved rtl_runtime_suspend_enable from close to rtl8152_suspend

Acked-by: Hayes Wang <hayeswang@xxxxxxxxxxx>

Best Regards,
Hayes

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/