• Emmanuel Grumbach's avatar
    iwlwifi: mvm: fix a race in D0i3 vs. Tx path · ecc7c518
    Emmanuel Grumbach authored
    When we enter D0i3, we must stop TXing otherwise the
    sequence number we use might conflict with the firmware's
    internal TX. In order to do so, we have
    IWL_MVM_STATUS_IN_D0I3 which should prevent any Tx while we
    enter D0i3. There is a bug in this code since we may Tx even
    if IWL_MVM_STATUS_IN_D0I3 is set. This can happen as long as
    mvm->d0i3_ap_sta_id is not set.
    
    To make sure that we don't have any packet in the Tx path
    while we set mvm->d0i3_ap_sta_id, call synchronize_net only
    after we already set mvm->d0i3_ap_sta_id.
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    ecc7c518
ops.c 39 KB