• Maciej S. Szmigiero's avatar
    hp-wmi: fix unregister order in hp_wmi_rfkill_setup() once again · c7805e54
    Maciej S. Szmigiero authored
    rfkill registration order in hp_wmi_rfkill_setup() is:
    1) WiFi,
    2) BT,
    3) WWAN,
    5) GPS.
    
    Unregistration when cleaning up on error return should happen in reverse
    order.
    
    This means that: If BT rfkill fails to be allocated we possibly need to
    first unregister WiFi rfkill before destroying it.
    
    The same goes with (WWAN, BT) and (GPS, WWAN) pairs.
    
    Also, if WWAN rfkill fails to register we need to (possibly) unregister BT
    not the GPS one.  And if GPS rfkill fails to register we need to unregister
    WWAN not the BT one.
    
    We never need to unregister GPS rfkill here since if GPS rfkill
    registration succeeds this function returns without error so no cleanup is
    necessary.
    Signed-off-by: default avatarMaciej S. Szmigiero <mail@maciej.szmigiero.name>
    Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
    c7805e54
hp-wmi.c 25.7 KB