• Sara Sharon's avatar
    iwlwifi: mvm: get rid of tx_path_lock · fba8248e
    Sara Sharon authored
    TX path lock was introduced in order to prevent out of order
    invocations of TX.
    
    This can happen in the following flow:
    
    TX path invoked from net dev
    Packet dequeued
    	TX path invoked from RX path
    	Packet dequeued
    	Packet TXed
    Packet TXed
    
    However, we don't really need a lock. If TX path is already
    invoked from some location, other paths can simply abort their
    execution, instead of waiting to the first path to finish, and
    then discover queue is (likely) empty or stopped.
    
    Replace the lock with an atomic variable to track TX ownership.
    This simplifies the locking dependencies between RX and TX paths,
    and should improve performance.
    Signed-off-by: default avatarSara Sharon <sara.sharon@intel.com>
    Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
    fba8248e
sta.c 107 KB