• Bjørn Mork's avatar
    net: qmi_wwan: call subdriver with control intf only · 8624dd2a
    Bjørn Mork authored
    This fixes a hang on suspend due to calling wdm_suspend on
    the unregistered data interface. The hang should have been
    a NULL pointer reference had it not been for a logic error
    in the cdc_wdm code.
    
      commit 230718bd net: qmi_wwan: bind to both control and data interface
    
    changed qmi_wwan to use cdc_wdm as a subdriver for devices with
    a two-interface QMI/wwan function.  The commit failed to update
    qmi_wwan_suspend and qmi_wwan_resume, which were written to handle
    either a single combined interface function, or no subdriver at all.
    
    The result was that we called into the subdriver both when the
    control interface was suspended and when the data interface was
    suspended.  Calling the subdriver suspend function with an
    unregistered interface is not supported and will make the
    subdriver bug out.
    Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8624dd2a
qmi_wwan.c 17 KB