• Eliad Peller's avatar
    iwlwifi: mvm: fix ROC reference accounting · c779273b
    Eliad Peller authored
    commit b112889c ("iwlwifi: mvm: add Aux ROC request/response flow")
    added aux ROC flow in addition to the existing ROC flow. While doing
    it, it moved the ROC reference release to a common work item, which
    is being called for both the ROC and aux ROC flows.
    
    This resulted in invalid reference accounting, as no reference was
    taken in case of aux ROC, while a reference was released on completion.
    
    Fix it by adding a reference for the aux ROC as well, and release
    only the relevant references on completion (according to the set bits).
    
    While at it, convert cancel_work_sync() to flush_work(), in order
    to make sure the references are being cleaned properly.
    
    Fixes: b112889c ("iwlwifi: mvm: add Aux ROC request/response flow")
    Signed-off-by: default avatarEliad Peller <eliadx.peller@intel.com>
    Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    c779273b
mac80211.c 111 KB