lkml.org 
[lkml]   [2023]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 6/8] r8152: Check for unplug in r8153b_ups_en() / r8153c_ups_en()
    Date
    If the adapter is unplugged while we're looping in r8153b_ups_en() /
    r8153c_ups_en() we could end up looping for 10 seconds (20 ms * 500
    loops). Add code similar to what's done in other places in the driver
    to check for unplug and bail.

    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    ---

    (no changes since v2)

    Changes in v2:
    - ("Check for unplug in r8153b_ups_en() / r8153c_ups_en()") new for v2.

    drivers/net/usb/r8152.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
    index 9888bc43e903..982f9ca03e7a 100644
    --- a/drivers/net/usb/r8152.c
    +++ b/drivers/net/usb/r8152.c
    @@ -3663,6 +3663,8 @@ static void r8153b_ups_en(struct r8152 *tp, bool enable)
    int i;

    for (i = 0; i < 500; i++) {
    + if (test_bit(RTL8152_UNPLUG, &tp->flags))
    + return;
    if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_BOOT_CTRL) &
    AUTOLOAD_DONE)
    break;
    @@ -3703,6 +3705,8 @@ static void r8153c_ups_en(struct r8152 *tp, bool enable)
    int i;

    for (i = 0; i < 500; i++) {
    + if (test_bit(RTL8152_UNPLUG, &tp->flags))
    + return;
    if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_BOOT_CTRL) &
    AUTOLOAD_DONE)
    break;
    --
    2.42.0.758.gaed0368e0e-goog
    \
     
     \ /
      Last update: 2023-10-20 23:10    [W:4.320 / U:0.368 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site