• Johannes Berg's avatar
    iwlwifi: redesign PASSIVE_NO_RX workaround · e755f882
    Johannes Berg authored
    The PASSIVE_NO_RX workaround currently crosses
    through the op_mode and transport layers, which
    is a bit odd. This also isn't necessary, if the
    transport simply reports when queues are full
    (or no longer full) the op_mode can keep track
    of this state, and report to mac80211 only what
    *it* thinks is appropriate. What is appropriate
    can then be based on whether queues should be
    stopped to wait for RX or not.
    
    This significantly simplifies the transport API,
    it no longer needs to expose anything to stop a
    queue, nor to wake "any" queue, this can all be
    handled in the upper layer completely.
    
    Also simplify the handling to not be dependent
    on the context, that makes little sense as the
    queues are shared and both contexts have to be
    on the same channel anyway.
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    e755f882
iwl-agn-rx.c 35.8 KB