iwlwifi: mvm: use LIST_HEAD() macro
[cascardo/linux.git] / drivers / net / wireless / intel / iwlwifi / mvm / ops.c
index 55d9096..75f3ca0 100644 (file)
@@ -359,6 +359,7 @@ static const struct iwl_hcmd_names iwl_mvm_legacy_names[] = {
        HCMD_NAME(BT_COEX_CI),
        HCMD_NAME(PHY_CONFIGURATION_CMD),
        HCMD_NAME(CALIB_RES_NOTIF_PHY_DB),
+       HCMD_NAME(PHY_DB_CMD),
        HCMD_NAME(SCAN_OFFLOAD_COMPLETE),
        HCMD_NAME(SCAN_OFFLOAD_UPDATE_PROFILES_CMD),
        HCMD_NAME(SCAN_OFFLOAD_CONFIG_CMD),
@@ -652,8 +653,8 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
        /* the hardware splits the A-MSDU */
        if (mvm->cfg->mq_rx_supported)
                trans_cfg.rx_buf_size = IWL_AMSDU_4K;
-       trans_cfg.wide_cmd_header = fw_has_api(&mvm->fw->ucode_capa,
-                                              IWL_UCODE_TLV_API_WIDE_CMD_HDR);
+       trans->wide_cmd_header = fw_has_api(&mvm->fw->ucode_capa,
+                                           IWL_UCODE_TLV_API_WIDE_CMD_HDR);
 
        if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_DW_BC_TABLE)
                trans_cfg.bc_table_dword = true;
@@ -857,9 +858,7 @@ static void iwl_mvm_async_handlers_wk(struct work_struct *wk)
        struct iwl_mvm *mvm =
                container_of(wk, struct iwl_mvm, async_handlers_wk);
        struct iwl_async_handler_entry *entry, *tmp;
-       struct list_head local_list;
-
-       INIT_LIST_HEAD(&local_list);
+       LIST_HEAD(local_list);
 
        /* Ensure that we are not in stop flow (check iwl_mvm_mac_stop) */
 
@@ -966,10 +965,11 @@ static void iwl_mvm_rx(struct iwl_op_mode *op_mode,
 {
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
        struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
+       u16 cmd = WIDE_ID(pkt->hdr.group_id, pkt->hdr.cmd);
 
-       if (likely(pkt->hdr.cmd == REPLY_RX_MPDU_CMD))
+       if (likely(cmd == WIDE_ID(LEGACY_GROUP, REPLY_RX_MPDU_CMD)))
                iwl_mvm_rx_rx_mpdu(mvm, napi, rxb);
-       else if (pkt->hdr.cmd == REPLY_RX_PHY_CMD)
+       else if (cmd == WIDE_ID(LEGACY_GROUP, REPLY_RX_PHY_CMD))
                iwl_mvm_rx_rx_phy_cmd(mvm, rxb);
        else
                iwl_mvm_rx_common(mvm, rxb, pkt);
@@ -981,13 +981,14 @@ static void iwl_mvm_rx_mq(struct iwl_op_mode *op_mode,
 {
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
        struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
+       u16 cmd = WIDE_ID(pkt->hdr.group_id, pkt->hdr.cmd);
 
-       if (likely(pkt->hdr.cmd == REPLY_RX_MPDU_CMD))
+       if (likely(cmd == WIDE_ID(LEGACY_GROUP, REPLY_RX_MPDU_CMD)))
                iwl_mvm_rx_mpdu_mq(mvm, napi, rxb, 0);
-       else if (unlikely(pkt->hdr.group_id == DATA_PATH_GROUP &&
-                         pkt->hdr.cmd == RX_QUEUES_NOTIFICATION))
+       else if (unlikely(cmd == WIDE_ID(DATA_PATH_GROUP,
+                                        RX_QUEUES_NOTIFICATION)))
                iwl_mvm_rx_queue_notif(mvm, rxb, 0);
-       else if (pkt->hdr.cmd == FRAME_RELEASE)
+       else if (cmd == WIDE_ID(LEGACY_GROUP, FRAME_RELEASE))
                iwl_mvm_rx_frame_release(mvm, napi, rxb, 0);
        else
                iwl_mvm_rx_common(mvm, rxb, pkt);
@@ -1666,13 +1667,14 @@ static void iwl_mvm_rx_mq_rss(struct iwl_op_mode *op_mode,
 {
        struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
+       u16 cmd = WIDE_ID(pkt->hdr.group_id, pkt->hdr.cmd);
 
-       if (unlikely(pkt->hdr.cmd == FRAME_RELEASE))
+       if (unlikely(cmd == WIDE_ID(LEGACY_GROUP, FRAME_RELEASE)))
                iwl_mvm_rx_frame_release(mvm, napi, rxb, queue);
-       else if (unlikely(pkt->hdr.cmd == RX_QUEUES_NOTIFICATION &&
-                         pkt->hdr.group_id == DATA_PATH_GROUP))
+       else if (unlikely(cmd == WIDE_ID(DATA_PATH_GROUP,
+                                        RX_QUEUES_NOTIFICATION)))
                iwl_mvm_rx_queue_notif(mvm, rxb, queue);
-       else
+       else if (likely(cmd == WIDE_ID(LEGACY_GROUP, REPLY_RX_MPDU_CMD)))
                iwl_mvm_rx_mpdu_mq(mvm, napi, rxb, queue);
 }