diff options
author | Sara Sharon <sara.sharon@intel.com> | 2016-03-23 16:31:43 +0200 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2016-05-10 22:14:40 +0300 |
commit | d0ff5d2297aa03f346c82d8c90528f00f90ea26d (patch) | |
tree | 533ea5488d784b6b45c1cabe9a253ab15045647f /drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | |
parent | 0636b938214c90c3a7d145ad86b64a061bb10c50 (diff) |
iwlwifi: mvm: change RX sync notification to be an attribute and not a type
Currently the sync notification is a type of notification. However, it
is better fitted as an attribute of a notification, since there might
be another message in the payload (delba for instance) that should be
sent while control path is waiting for all queues to process.
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c index b4d9c42d411a..306dd9be7c9e 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c @@ -405,16 +405,19 @@ void iwl_mvm_rx_queue_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb, notif = (void *)pkt->data; internal_notif = (void *)notif->payload; - switch (internal_notif->type) { - case IWL_MVM_RXQ_SYNC: - if (mvm->queue_sync_cookie == internal_notif->cookie) - atomic_dec(&mvm->queue_sync_counter); - else + if (internal_notif->sync) { + if (mvm->queue_sync_cookie != internal_notif->cookie) { WARN_ONCE(1, "Received expired RX queue sync message\n"); + return; + } + atomic_dec(&mvm->queue_sync_counter); + } + + switch (internal_notif->type) { + case IWL_MVM_RXQ_EMPTY: break; case IWL_MVM_RXQ_NOTIF_DEL_BA: - /* TODO */ break; default: WARN_ONCE(1, "Invalid identifier %d", internal_notif->type); |