diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-11-05 15:53:10 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-11-05 15:53:10 -0500 |
commit | c046555966e4a3a75b731e05ece3b1d763ac56ae (patch) | |
tree | 2957e97a4052ca069ff7d05abf49e6b9647be9e7 /drivers/net | |
parent | dce1ebabcb0ac12113487221663c2aba648dd244 (diff) | |
parent | c92f06a1dea1e444213d860a20023f72c134e20a (diff) |
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/iwlwifi/dvm/ucode.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-fw.h | 3 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-io.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/bt-coex.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/debugfs.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/fw.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/mac80211.c | 14 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/mvm.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/ops.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/rx.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/pcie/tx.c | 9 |
13 files changed, 43 insertions, 29 deletions
diff --git a/drivers/net/wireless/iwlwifi/dvm/ucode.c b/drivers/net/wireless/iwlwifi/dvm/ucode.c index 86270b69cd02..63637949a146 100644 --- a/drivers/net/wireless/iwlwifi/dvm/ucode.c +++ b/drivers/net/wireless/iwlwifi/dvm/ucode.c | |||
@@ -330,15 +330,14 @@ int iwl_load_ucode_wait_alive(struct iwl_priv *priv, | |||
330 | enum iwl_ucode_type old_type; | 330 | enum iwl_ucode_type old_type; |
331 | static const u8 alive_cmd[] = { REPLY_ALIVE }; | 331 | static const u8 alive_cmd[] = { REPLY_ALIVE }; |
332 | 332 | ||
333 | old_type = priv->cur_ucode; | ||
334 | priv->cur_ucode = ucode_type; | ||
335 | fw = iwl_get_ucode_image(priv, ucode_type); | 333 | fw = iwl_get_ucode_image(priv, ucode_type); |
334 | if (WARN_ON(!fw)) | ||
335 | return -EINVAL; | ||
336 | 336 | ||
337 | old_type = priv->cur_ucode; | ||
338 | priv->cur_ucode = ucode_type; | ||
337 | priv->ucode_loaded = false; | 339 | priv->ucode_loaded = false; |
338 | 340 | ||
339 | if (!fw) | ||
340 | return -EINVAL; | ||
341 | |||
342 | iwl_init_notification_wait(&priv->notif_wait, &alive_wait, | 341 | iwl_init_notification_wait(&priv->notif_wait, &alive_wait, |
343 | alive_cmd, ARRAY_SIZE(alive_cmd), | 342 | alive_cmd, ARRAY_SIZE(alive_cmd), |
344 | iwl_alive_fn, &alive_data); | 343 | iwl_alive_fn, &alive_data); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-fw.h b/drivers/net/wireless/iwlwifi/iwl-fw.h index 87b66a821ec8..75db087120c3 100644 --- a/drivers/net/wireless/iwlwifi/iwl-fw.h +++ b/drivers/net/wireless/iwlwifi/iwl-fw.h | |||
@@ -100,7 +100,7 @@ enum iwl_ucode_tlv_flag { | |||
100 | IWL_UCODE_TLV_FLAGS_P2P = BIT(3), | 100 | IWL_UCODE_TLV_FLAGS_P2P = BIT(3), |
101 | IWL_UCODE_TLV_FLAGS_DW_BC_TABLE = BIT(4), | 101 | IWL_UCODE_TLV_FLAGS_DW_BC_TABLE = BIT(4), |
102 | IWL_UCODE_TLV_FLAGS_NEWBT_COEX = BIT(5), | 102 | IWL_UCODE_TLV_FLAGS_NEWBT_COEX = BIT(5), |
103 | IWL_UCODE_TLV_FLAGS_UAPSD = BIT(6), | 103 | IWL_UCODE_TLV_FLAGS_PM_CMD_SUPPORT = BIT(6), |
104 | IWL_UCODE_TLV_FLAGS_SHORT_BL = BIT(7), | 104 | IWL_UCODE_TLV_FLAGS_SHORT_BL = BIT(7), |
105 | IWL_UCODE_TLV_FLAGS_RX_ENERGY_API = BIT(8), | 105 | IWL_UCODE_TLV_FLAGS_RX_ENERGY_API = BIT(8), |
106 | IWL_UCODE_TLV_FLAGS_TIME_EVENT_API_V2 = BIT(9), | 106 | IWL_UCODE_TLV_FLAGS_TIME_EVENT_API_V2 = BIT(9), |
@@ -113,6 +113,7 @@ enum iwl_ucode_tlv_flag { | |||
113 | IWL_UCODE_TLV_FLAGS_SCHED_SCAN = BIT(17), | 113 | IWL_UCODE_TLV_FLAGS_SCHED_SCAN = BIT(17), |
114 | IWL_UCODE_TLV_FLAGS_STA_KEY_CMD = BIT(19), | 114 | IWL_UCODE_TLV_FLAGS_STA_KEY_CMD = BIT(19), |
115 | IWL_UCODE_TLV_FLAGS_DEVICE_PS_CMD = BIT(20), | 115 | IWL_UCODE_TLV_FLAGS_DEVICE_PS_CMD = BIT(20), |
116 | IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT = BIT(24), | ||
116 | }; | 117 | }; |
117 | 118 | ||
118 | /* The default calibrate table size if not specified by firmware file */ | 119 | /* The default calibrate table size if not specified by firmware file */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-io.c b/drivers/net/wireless/iwlwifi/iwl-io.c index dfa4d2e3aaa2..ad8e19a56eca 100644 --- a/drivers/net/wireless/iwlwifi/iwl-io.c +++ b/drivers/net/wireless/iwlwifi/iwl-io.c | |||
@@ -34,7 +34,6 @@ | |||
34 | #include "iwl-csr.h" | 34 | #include "iwl-csr.h" |
35 | #include "iwl-debug.h" | 35 | #include "iwl-debug.h" |
36 | #include "iwl-fh.h" | 36 | #include "iwl-fh.h" |
37 | #include "iwl-csr.h" | ||
38 | 37 | ||
39 | #define IWL_POLL_INTERVAL 10 /* microseconds */ | 38 | #define IWL_POLL_INTERVAL 10 /* microseconds */ |
40 | 39 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h index c6bac7c90b00..143292b4dbbf 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans.h +++ b/drivers/net/wireless/iwlwifi/iwl-trans.h | |||
@@ -344,7 +344,7 @@ struct iwl_trans_config { | |||
344 | u8 cmd_queue; | 344 | u8 cmd_queue; |
345 | u8 cmd_fifo; | 345 | u8 cmd_fifo; |
346 | const u8 *no_reclaim_cmds; | 346 | const u8 *no_reclaim_cmds; |
347 | int n_no_reclaim_cmds; | 347 | unsigned int n_no_reclaim_cmds; |
348 | 348 | ||
349 | bool rx_buf_size_8k; | 349 | bool rx_buf_size_8k; |
350 | bool bc_table_dword; | 350 | bool bc_table_dword; |
diff --git a/drivers/net/wireless/iwlwifi/mvm/bt-coex.c b/drivers/net/wireless/iwlwifi/mvm/bt-coex.c index 5b630f12bbff..5d066cbc5ac7 100644 --- a/drivers/net/wireless/iwlwifi/mvm/bt-coex.c +++ b/drivers/net/wireless/iwlwifi/mvm/bt-coex.c | |||
@@ -505,12 +505,16 @@ static int iwl_mvm_bt_coex_reduced_txp(struct iwl_mvm *mvm, u8 sta_id, | |||
505 | struct iwl_mvm_sta *mvmsta; | 505 | struct iwl_mvm_sta *mvmsta; |
506 | int ret; | 506 | int ret; |
507 | 507 | ||
508 | /* This can happen if the station has been removed right now */ | ||
509 | if (sta_id == IWL_MVM_STATION_COUNT) | 508 | if (sta_id == IWL_MVM_STATION_COUNT) |
510 | return 0; | 509 | return 0; |
511 | 510 | ||
512 | sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id], | 511 | sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id], |
513 | lockdep_is_held(&mvm->mutex)); | 512 | lockdep_is_held(&mvm->mutex)); |
513 | |||
514 | /* This can happen if the station has been removed right now */ | ||
515 | if (IS_ERR_OR_NULL(sta)) | ||
516 | return 0; | ||
517 | |||
514 | mvmsta = (void *)sta->drv_priv; | 518 | mvmsta = (void *)sta->drv_priv; |
515 | 519 | ||
516 | /* nothing to do */ | 520 | /* nothing to do */ |
@@ -751,7 +755,7 @@ static void iwl_mvm_bt_coex_notif_handle(struct iwl_mvm *mvm) | |||
751 | 755 | ||
752 | cmd.bt_secondary_ci = | 756 | cmd.bt_secondary_ci = |
753 | iwl_ci_mask[chan->def.chan->hw_value][ci_bw_idx]; | 757 | iwl_ci_mask[chan->def.chan->hw_value][ci_bw_idx]; |
754 | cmd.secondary_ch_phy_id = *((u16 *)data.primary->drv_priv); | 758 | cmd.secondary_ch_phy_id = *((u16 *)data.secondary->drv_priv); |
755 | } | 759 | } |
756 | 760 | ||
757 | rcu_read_unlock(); | 761 | rcu_read_unlock(); |
diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/iwlwifi/mvm/debugfs.c index 0675f0c8ef93..9864d713eb2c 100644 --- a/drivers/net/wireless/iwlwifi/mvm/debugfs.c +++ b/drivers/net/wireless/iwlwifi/mvm/debugfs.c | |||
@@ -342,6 +342,7 @@ static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm, | |||
342 | case MVM_DEBUGFS_PM_DISABLE_POWER_OFF: | 342 | case MVM_DEBUGFS_PM_DISABLE_POWER_OFF: |
343 | IWL_DEBUG_POWER(mvm, "disable_power_off=%d\n", val); | 343 | IWL_DEBUG_POWER(mvm, "disable_power_off=%d\n", val); |
344 | dbgfs_pm->disable_power_off = val; | 344 | dbgfs_pm->disable_power_off = val; |
345 | break; | ||
345 | case MVM_DEBUGFS_PM_LPRX_ENA: | 346 | case MVM_DEBUGFS_PM_LPRX_ENA: |
346 | IWL_DEBUG_POWER(mvm, "lprx %s\n", val ? "enabled" : "disabled"); | 347 | IWL_DEBUG_POWER(mvm, "lprx %s\n", val ? "enabled" : "disabled"); |
347 | dbgfs_pm->lprx_ena = val; | 348 | dbgfs_pm->lprx_ena = val; |
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw.c b/drivers/net/wireless/iwlwifi/mvm/fw.c index 83fc5ca04433..70e5297646b2 100644 --- a/drivers/net/wireless/iwlwifi/mvm/fw.c +++ b/drivers/net/wireless/iwlwifi/mvm/fw.c | |||
@@ -151,13 +151,11 @@ static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm, | |||
151 | enum iwl_ucode_type old_type = mvm->cur_ucode; | 151 | enum iwl_ucode_type old_type = mvm->cur_ucode; |
152 | static const u8 alive_cmd[] = { MVM_ALIVE }; | 152 | static const u8 alive_cmd[] = { MVM_ALIVE }; |
153 | 153 | ||
154 | mvm->cur_ucode = ucode_type; | ||
155 | fw = iwl_get_ucode_image(mvm, ucode_type); | 154 | fw = iwl_get_ucode_image(mvm, ucode_type); |
156 | 155 | if (WARN_ON(!fw)) | |
157 | mvm->ucode_loaded = false; | ||
158 | |||
159 | if (!fw) | ||
160 | return -EINVAL; | 156 | return -EINVAL; |
157 | mvm->cur_ucode = ucode_type; | ||
158 | mvm->ucode_loaded = false; | ||
161 | 159 | ||
162 | iwl_init_notification_wait(&mvm->notif_wait, &alive_wait, | 160 | iwl_init_notification_wait(&mvm->notif_wait, &alive_wait, |
163 | alive_cmd, ARRAY_SIZE(alive_cmd), | 161 | alive_cmd, ARRAY_SIZE(alive_cmd), |
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c index ab5a7ac90dcd..f41f9b079831 100644 --- a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c +++ b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c | |||
@@ -719,7 +719,9 @@ static int iwl_mvm_mac_ctxt_cmd_listener(struct iwl_mvm *mvm, | |||
719 | cmd.filter_flags = cpu_to_le32(MAC_FILTER_IN_PROMISC | | 719 | cmd.filter_flags = cpu_to_le32(MAC_FILTER_IN_PROMISC | |
720 | MAC_FILTER_IN_CONTROL_AND_MGMT | | 720 | MAC_FILTER_IN_CONTROL_AND_MGMT | |
721 | MAC_FILTER_IN_BEACON | | 721 | MAC_FILTER_IN_BEACON | |
722 | MAC_FILTER_IN_PROBE_REQUEST); | 722 | MAC_FILTER_IN_PROBE_REQUEST | |
723 | MAC_FILTER_IN_CRC32); | ||
724 | mvm->hw->flags |= IEEE80211_HW_RX_INCLUDES_FCS; | ||
723 | 725 | ||
724 | return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd); | 726 | return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd); |
725 | } | 727 | } |
@@ -1122,6 +1124,10 @@ int iwl_mvm_mac_ctxt_remove(struct iwl_mvm *mvm, struct ieee80211_vif *vif) | |||
1122 | } | 1124 | } |
1123 | 1125 | ||
1124 | mvmvif->uploaded = false; | 1126 | mvmvif->uploaded = false; |
1127 | |||
1128 | if (vif->type == NL80211_IFTYPE_MONITOR) | ||
1129 | mvm->hw->flags &= ~IEEE80211_HW_RX_INCLUDES_FCS; | ||
1130 | |||
1125 | return 0; | 1131 | return 0; |
1126 | } | 1132 | } |
1127 | 1133 | ||
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c index f40685c3764e..74bc2c8af06d 100644 --- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c | |||
@@ -164,8 +164,7 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) | |||
164 | IEEE80211_HW_TIMING_BEACON_ONLY | | 164 | IEEE80211_HW_TIMING_BEACON_ONLY | |
165 | IEEE80211_HW_CONNECTION_MONITOR | | 165 | IEEE80211_HW_CONNECTION_MONITOR | |
166 | IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS | | 166 | IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS | |
167 | IEEE80211_HW_SUPPORTS_STATIC_SMPS | | 167 | IEEE80211_HW_SUPPORTS_STATIC_SMPS; |
168 | IEEE80211_HW_SUPPORTS_UAPSD; | ||
169 | 168 | ||
170 | hw->queues = mvm->first_agg_queue; | 169 | hw->queues = mvm->first_agg_queue; |
171 | hw->offchannel_tx_hw_queue = IWL_MVM_OFFCHANNEL_QUEUE; | 170 | hw->offchannel_tx_hw_queue = IWL_MVM_OFFCHANNEL_QUEUE; |
@@ -180,6 +179,12 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) | |||
180 | !iwlwifi_mod_params.sw_crypto) | 179 | !iwlwifi_mod_params.sw_crypto) |
181 | hw->flags |= IEEE80211_HW_MFP_CAPABLE; | 180 | hw->flags |= IEEE80211_HW_MFP_CAPABLE; |
182 | 181 | ||
182 | if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT) { | ||
183 | hw->flags |= IEEE80211_HW_SUPPORTS_UAPSD; | ||
184 | hw->uapsd_queues = IWL_UAPSD_AC_INFO; | ||
185 | hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP; | ||
186 | } | ||
187 | |||
183 | hw->sta_data_size = sizeof(struct iwl_mvm_sta); | 188 | hw->sta_data_size = sizeof(struct iwl_mvm_sta); |
184 | hw->vif_data_size = sizeof(struct iwl_mvm_vif); | 189 | hw->vif_data_size = sizeof(struct iwl_mvm_vif); |
185 | hw->chanctx_data_size = sizeof(u16); | 190 | hw->chanctx_data_size = sizeof(u16); |
@@ -204,8 +209,6 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) | |||
204 | 209 | ||
205 | hw->wiphy->max_remain_on_channel_duration = 10000; | 210 | hw->wiphy->max_remain_on_channel_duration = 10000; |
206 | hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL; | 211 | hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL; |
207 | hw->uapsd_queues = IWL_UAPSD_AC_INFO; | ||
208 | hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP; | ||
209 | 212 | ||
210 | /* Extract MAC address */ | 213 | /* Extract MAC address */ |
211 | memcpy(mvm->addresses[0].addr, mvm->nvm_data->hw_addr, ETH_ALEN); | 214 | memcpy(mvm->addresses[0].addr, mvm->nvm_data->hw_addr, ETH_ALEN); |
@@ -861,7 +864,8 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm, | |||
861 | /* reset rssi values */ | 864 | /* reset rssi values */ |
862 | mvmvif->bf_data.ave_beacon_signal = 0; | 865 | mvmvif->bf_data.ave_beacon_signal = 0; |
863 | 866 | ||
864 | if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD)) { | 867 | if (!(mvm->fw->ucode_capa.flags & |
868 | IWL_UCODE_TLV_FLAGS_PM_CMD_SUPPORT)) { | ||
865 | /* Workaround for FW bug, otherwise FW disables device | 869 | /* Workaround for FW bug, otherwise FW disables device |
866 | * power save upon disassociation | 870 | * power save upon disassociation |
867 | */ | 871 | */ |
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h index 6235cb729f5c..fed21ef4162d 100644 --- a/drivers/net/wireless/iwlwifi/mvm/mvm.h +++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h | |||
@@ -73,7 +73,6 @@ | |||
73 | #include "iwl-trans.h" | 73 | #include "iwl-trans.h" |
74 | #include "iwl-notif-wait.h" | 74 | #include "iwl-notif-wait.h" |
75 | #include "iwl-eeprom-parse.h" | 75 | #include "iwl-eeprom-parse.h" |
76 | #include "iwl-trans.h" | ||
77 | #include "sta.h" | 76 | #include "sta.h" |
78 | #include "fw-api.h" | 77 | #include "fw-api.h" |
79 | #include "constants.h" | 78 | #include "constants.h" |
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c index 59b7cb3c6134..d86083c6f445 100644 --- a/drivers/net/wireless/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/iwlwifi/mvm/ops.c | |||
@@ -459,7 +459,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, | |||
459 | if (err) | 459 | if (err) |
460 | goto out_unregister; | 460 | goto out_unregister; |
461 | 461 | ||
462 | if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD) | 462 | if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_PM_CMD_SUPPORT) |
463 | mvm->pm_ops = &pm_mac_ops; | 463 | mvm->pm_ops = &pm_mac_ops; |
464 | else | 464 | else |
465 | mvm->pm_ops = &pm_legacy_ops; | 465 | mvm->pm_ops = &pm_legacy_ops; |
diff --git a/drivers/net/wireless/iwlwifi/mvm/rx.c b/drivers/net/wireless/iwlwifi/mvm/rx.c index a4af5019a496..3a1f3982109d 100644 --- a/drivers/net/wireless/iwlwifi/mvm/rx.c +++ b/drivers/net/wireless/iwlwifi/mvm/rx.c | |||
@@ -300,10 +300,14 @@ int iwl_mvm_rx_rx_mpdu(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb, | |||
300 | return 0; | 300 | return 0; |
301 | } | 301 | } |
302 | 302 | ||
303 | /* | ||
304 | * Keep packets with CRC errors (and with overrun) for monitor mode | ||
305 | * (otherwise the firmware discards them) but mark them as bad. | ||
306 | */ | ||
303 | if (!(rx_pkt_status & RX_MPDU_RES_STATUS_CRC_OK) || | 307 | if (!(rx_pkt_status & RX_MPDU_RES_STATUS_CRC_OK) || |
304 | !(rx_pkt_status & RX_MPDU_RES_STATUS_OVERRUN_OK)) { | 308 | !(rx_pkt_status & RX_MPDU_RES_STATUS_OVERRUN_OK)) { |
305 | IWL_DEBUG_RX(mvm, "Bad CRC or FIFO: 0x%08X.\n", rx_pkt_status); | 309 | IWL_DEBUG_RX(mvm, "Bad CRC or FIFO: 0x%08X.\n", rx_pkt_status); |
306 | return 0; | 310 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; |
307 | } | 311 | } |
308 | 312 | ||
309 | /* This will be used in several places later */ | 313 | /* This will be used in several places later */ |
diff --git a/drivers/net/wireless/iwlwifi/pcie/tx.c b/drivers/net/wireless/iwlwifi/pcie/tx.c index f644fcf861a8..059c5acad3a0 100644 --- a/drivers/net/wireless/iwlwifi/pcie/tx.c +++ b/drivers/net/wireless/iwlwifi/pcie/tx.c | |||
@@ -1499,12 +1499,11 @@ static int iwl_pcie_send_hcmd_sync(struct iwl_trans *trans, | |||
1499 | IWL_DEBUG_INFO(trans, "Attempting to send sync command %s\n", | 1499 | IWL_DEBUG_INFO(trans, "Attempting to send sync command %s\n", |
1500 | get_cmd_string(trans_pcie, cmd->id)); | 1500 | get_cmd_string(trans_pcie, cmd->id)); |
1501 | 1501 | ||
1502 | if (WARN_ON(test_and_set_bit(STATUS_HCMD_ACTIVE, | 1502 | if (WARN(test_and_set_bit(STATUS_HCMD_ACTIVE, |
1503 | &trans_pcie->status))) { | 1503 | &trans_pcie->status), |
1504 | IWL_ERR(trans, "Command %s: a command is already active!\n", | 1504 | "Command %s: a command is already active!\n", |
1505 | get_cmd_string(trans_pcie, cmd->id)); | 1505 | get_cmd_string(trans_pcie, cmd->id))) |
1506 | return -EIO; | 1506 | return -EIO; |
1507 | } | ||
1508 | 1507 | ||
1509 | IWL_DEBUG_INFO(trans, "Setting HCMD_ACTIVE for command %s\n", | 1508 | IWL_DEBUG_INFO(trans, "Setting HCMD_ACTIVE for command %s\n", |
1510 | get_cmd_string(trans_pcie, cmd->id)); | 1509 | get_cmd_string(trans_pcie, cmd->id)); |