• Heiner Kallweit's avatar
    r8169: reset chip synchronously in __rtl8169_resume · 58ba566c
    Heiner Kallweit authored
    Triggering an asynchronous reset is problematic for the following
    reasons, therefore reset the chip synchronously.
    
    - The reset routine resets registers and parameters behind our back
      what may collide with code executed after triggering the reset.
    
    - __rtl8169_resume() is called as part of pm_runtime_get_sync() and
      callers expect that the chip is fully resumed afterwards.
    
    In context of this driver triggering an asynchonous reset should be
    considered an emergency procedure.
    Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    58ba566c
r8169.c 182 KB