diff options
| author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2013-02-10 13:25:25 +0200 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2013-02-12 16:52:26 +0100 |
| commit | 36eed56a8f7e1bd7fb5014ea0e702708e1702f30 (patch) | |
| tree | 07552fdc0f23a827615fef8e3dc314a3cb3e0a06 /drivers/net/wireless/iwlwifi/mvm/ops.c | |
| parent | 7a4539736eaeecb6bec25a718492fed6377a23af (diff) | |
| download | olio-linux-3.10-36eed56a8f7e1bd7fb5014ea0e702708e1702f30.tar.xz olio-linux-3.10-36eed56a8f7e1bd7fb5014ea0e702708e1702f30.zip | |
iwlwifi: mvm: beautify code in rx_handlers
Make the code more readable, and while at it also
add a missing "break" to avoid checking handlers
that cannot be used.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/ops.c')
| -rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/ops.c | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c index 983dca3f888..aa59adf87db 100644 --- a/drivers/net/wireless/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/iwlwifi/mvm/ops.c @@ -536,25 +536,28 @@ static int iwl_mvm_rx_dispatch(struct iwl_op_mode *op_mode, for (i = 0; i < ARRAY_SIZE(iwl_mvm_rx_handlers); i++) { const struct iwl_rx_handlers *rx_h = &iwl_mvm_rx_handlers[i]; - if (rx_h->cmd_id == pkt->hdr.cmd) { - struct iwl_async_handler_entry *entry; - if (!rx_h->async) - return rx_h->fn(mvm, rxb, cmd); + struct iwl_async_handler_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_ATOMIC); - /* we can't do much... */ - if (!entry) - return 0; + if (rx_h->cmd_id != pkt->hdr.cmd) + continue; - entry->rxb._page = rxb_steal_page(rxb); - entry->rxb._offset = rxb->_offset; - entry->rxb._rx_page_order = rxb->_rx_page_order; - entry->fn = rx_h->fn; - spin_lock(&mvm->async_handlers_lock); - list_add_tail(&entry->list, &mvm->async_handlers_list); - spin_unlock(&mvm->async_handlers_lock); - schedule_work(&mvm->async_handlers_wk); - } + if (!rx_h->async) + return rx_h->fn(mvm, rxb, cmd); + + entry = kzalloc(sizeof(*entry), GFP_ATOMIC); + /* we can't do much... */ + if (!entry) + return 0; + + entry->rxb._page = rxb_steal_page(rxb); + entry->rxb._offset = rxb->_offset; + entry->rxb._rx_page_order = rxb->_rx_page_order; + entry->fn = rx_h->fn; + spin_lock(&mvm->async_handlers_lock); + list_add_tail(&entry->list, &mvm->async_handlers_list); + spin_unlock(&mvm->async_handlers_lock); + schedule_work(&mvm->async_handlers_wk); + break; } return 0; |