diff options
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/rc.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-mac80211.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/cmdevt.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192ce/phy.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192cu/phy.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192de/phy.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192se/phy.c | 2 | ||||
-rw-r--r-- | drivers/ssb/driver_pcicore.c | 8 | ||||
-rw-r--r-- | net/mac80211/agg-tx.c | 86 | ||||
-rw-r--r-- | net/nfc/nci/core.c | 2 |
13 files changed, 70 insertions, 64 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 5007297c944..7d920044d03 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -286,7 +286,7 @@ static bool ath_complete_reset(struct ath_softc *sc, bool start) | |||
286 | ath_start_ani(common); | 286 | ath_start_ani(common); |
287 | } | 287 | } |
288 | 288 | ||
289 | if (ath9k_hw_ops(ah)->antdiv_comb_conf_get && sc->ant_rx != 3) { | 289 | if ((ah->caps.hw_caps & ATH9K_HW_CAP_ANT_DIV_COMB) && sc->ant_rx != 3) { |
290 | struct ath_hw_antcomb_conf div_ant_conf; | 290 | struct ath_hw_antcomb_conf div_ant_conf; |
291 | u8 lna_conf; | 291 | u8 lna_conf; |
292 | 292 | ||
diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c index 888abc2be3a..528d5f3e868 100644 --- a/drivers/net/wireless/ath/ath9k/rc.c +++ b/drivers/net/wireless/ath/ath9k/rc.c | |||
@@ -1271,7 +1271,9 @@ static void ath_rc_init(struct ath_softc *sc, | |||
1271 | 1271 | ||
1272 | ath_rc_priv->max_valid_rate = k; | 1272 | ath_rc_priv->max_valid_rate = k; |
1273 | ath_rc_sort_validrates(rate_table, ath_rc_priv); | 1273 | ath_rc_sort_validrates(rate_table, ath_rc_priv); |
1274 | ath_rc_priv->rate_max_phy = ath_rc_priv->valid_rate_index[k-4]; | 1274 | ath_rc_priv->rate_max_phy = (k > 4) ? |
1275 | ath_rc_priv->valid_rate_index[k-4] : | ||
1276 | ath_rc_priv->valid_rate_index[k-1]; | ||
1275 | ath_rc_priv->rate_table = rate_table; | 1277 | ath_rc_priv->rate_table = rate_table; |
1276 | 1278 | ||
1277 | ath_dbg(common, ATH_DBG_CONFIG, | 1279 | ath_dbg(common, ATH_DBG_CONFIG, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c index 466e4ab544f..d21f535a3b4 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | |||
@@ -610,8 +610,8 @@ int iwlagn_mac_config(struct ieee80211_hw *hw, u32 changed) | |||
610 | if (ctx->ht.enabled) { | 610 | if (ctx->ht.enabled) { |
611 | /* if HT40 is used, it should not change | 611 | /* if HT40 is used, it should not change |
612 | * after associated except channel switch */ | 612 | * after associated except channel switch */ |
613 | if (iwl_is_associated_ctx(ctx) && | 613 | if (!ctx->ht.is_40mhz || |
614 | !ctx->ht.is_40mhz) | 614 | !iwl_is_associated_ctx(ctx)) |
615 | iwlagn_config_ht40(conf, ctx); | 615 | iwlagn_config_ht40(conf, ctx); |
616 | } else | 616 | } else |
617 | ctx->ht.is_40mhz = false; | 617 | ctx->ht.is_40mhz = false; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c index 2fab2e31bf3..81754cddba7 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c | |||
@@ -91,7 +91,10 @@ static void iwlagn_tx_cmd_build_basic(struct iwl_priv *priv, | |||
91 | tx_cmd->tid_tspec = qc[0] & 0xf; | 91 | tx_cmd->tid_tspec = qc[0] & 0xf; |
92 | tx_flags &= ~TX_CMD_FLG_SEQ_CTL_MSK; | 92 | tx_flags &= ~TX_CMD_FLG_SEQ_CTL_MSK; |
93 | } else { | 93 | } else { |
94 | tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK; | 94 | if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ) |
95 | tx_flags |= TX_CMD_FLG_SEQ_CTL_MSK; | ||
96 | else | ||
97 | tx_flags &= ~TX_CMD_FLG_SEQ_CTL_MSK; | ||
95 | } | 98 | } |
96 | 99 | ||
97 | iwlagn_tx_cmd_protection(priv, info, fc, &tx_flags); | 100 | iwlagn_tx_cmd_protection(priv, info, fc, &tx_flags); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-mac80211.c b/drivers/net/wireless/iwlwifi/iwl-mac80211.c index b3886d20c27..e3944f4e4fd 100644 --- a/drivers/net/wireless/iwlwifi/iwl-mac80211.c +++ b/drivers/net/wireless/iwlwifi/iwl-mac80211.c | |||
@@ -1048,6 +1048,9 @@ static int iwlagn_mac_tx_sync(struct ieee80211_hw *hw, | |||
1048 | int ret; | 1048 | int ret; |
1049 | u8 sta_id; | 1049 | u8 sta_id; |
1050 | 1050 | ||
1051 | if (ctx->ctxid != IWL_RXON_CTX_PAN) | ||
1052 | return 0; | ||
1053 | |||
1051 | IWL_DEBUG_MAC80211(priv, "enter\n"); | 1054 | IWL_DEBUG_MAC80211(priv, "enter\n"); |
1052 | mutex_lock(&priv->shrd->mutex); | 1055 | mutex_lock(&priv->shrd->mutex); |
1053 | 1056 | ||
@@ -1097,6 +1100,9 @@ static void iwlagn_mac_finish_tx_sync(struct ieee80211_hw *hw, | |||
1097 | struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; | 1100 | struct iwl_vif_priv *vif_priv = (void *)vif->drv_priv; |
1098 | struct iwl_rxon_context *ctx = vif_priv->ctx; | 1101 | struct iwl_rxon_context *ctx = vif_priv->ctx; |
1099 | 1102 | ||
1103 | if (ctx->ctxid != IWL_RXON_CTX_PAN) | ||
1104 | return; | ||
1105 | |||
1100 | IWL_DEBUG_MAC80211(priv, "enter\n"); | 1106 | IWL_DEBUG_MAC80211(priv, "enter\n"); |
1101 | mutex_lock(&priv->shrd->mutex); | 1107 | mutex_lock(&priv->shrd->mutex); |
1102 | 1108 | ||
diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c index ac278156d39..6e0a3eaecf7 100644 --- a/drivers/net/wireless/mwifiex/cmdevt.c +++ b/drivers/net/wireless/mwifiex/cmdevt.c | |||
@@ -939,7 +939,6 @@ mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter) | |||
939 | { | 939 | { |
940 | struct cmd_ctrl_node *cmd_node = NULL, *tmp_node = NULL; | 940 | struct cmd_ctrl_node *cmd_node = NULL, *tmp_node = NULL; |
941 | unsigned long cmd_flags; | 941 | unsigned long cmd_flags; |
942 | unsigned long cmd_pending_q_flags; | ||
943 | unsigned long scan_pending_q_flags; | 942 | unsigned long scan_pending_q_flags; |
944 | uint16_t cancel_scan_cmd = false; | 943 | uint16_t cancel_scan_cmd = false; |
945 | 944 | ||
@@ -949,12 +948,9 @@ mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter) | |||
949 | cmd_node = adapter->curr_cmd; | 948 | cmd_node = adapter->curr_cmd; |
950 | cmd_node->wait_q_enabled = false; | 949 | cmd_node->wait_q_enabled = false; |
951 | cmd_node->cmd_flag |= CMD_F_CANCELED; | 950 | cmd_node->cmd_flag |= CMD_F_CANCELED; |
952 | spin_lock_irqsave(&adapter->cmd_pending_q_lock, | ||
953 | cmd_pending_q_flags); | ||
954 | list_del(&cmd_node->list); | ||
955 | spin_unlock_irqrestore(&adapter->cmd_pending_q_lock, | ||
956 | cmd_pending_q_flags); | ||
957 | mwifiex_insert_cmd_to_free_q(adapter, cmd_node); | 951 | mwifiex_insert_cmd_to_free_q(adapter, cmd_node); |
952 | mwifiex_complete_cmd(adapter, adapter->curr_cmd); | ||
953 | adapter->curr_cmd = NULL; | ||
958 | spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, cmd_flags); | 954 | spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, cmd_flags); |
959 | } | 955 | } |
960 | 956 | ||
@@ -981,7 +977,6 @@ mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter) | |||
981 | spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, cmd_flags); | 977 | spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, cmd_flags); |
982 | } | 978 | } |
983 | adapter->cmd_wait_q.status = -1; | 979 | adapter->cmd_wait_q.status = -1; |
984 | mwifiex_complete_cmd(adapter, adapter->curr_cmd); | ||
985 | } | 980 | } |
986 | 981 | ||
987 | /* | 982 | /* |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/phy.c b/drivers/net/wireless/rtlwifi/rtl8192ce/phy.c index 592a10ac592..3b585aadabf 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192ce/phy.c +++ b/drivers/net/wireless/rtlwifi/rtl8192ce/phy.c | |||
@@ -569,7 +569,7 @@ static bool _rtl92ce_phy_set_rf_power_state(struct ieee80211_hw *hw, | |||
569 | } | 569 | } |
570 | case ERFSLEEP:{ | 570 | case ERFSLEEP:{ |
571 | if (ppsc->rfpwr_state == ERFOFF) | 571 | if (ppsc->rfpwr_state == ERFOFF) |
572 | break; | 572 | return false; |
573 | for (queue_id = 0, i = 0; | 573 | for (queue_id = 0, i = 0; |
574 | queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) { | 574 | queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) { |
575 | ring = &pcipriv->dev.tx_ring[queue_id]; | 575 | ring = &pcipriv->dev.tx_ring[queue_id]; |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/phy.c b/drivers/net/wireless/rtlwifi/rtl8192cu/phy.c index 72852900df8..e49cf2244c7 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192cu/phy.c +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/phy.c | |||
@@ -548,7 +548,7 @@ static bool _rtl92cu_phy_set_rf_power_state(struct ieee80211_hw *hw, | |||
548 | break; | 548 | break; |
549 | case ERFSLEEP: | 549 | case ERFSLEEP: |
550 | if (ppsc->rfpwr_state == ERFOFF) | 550 | if (ppsc->rfpwr_state == ERFOFF) |
551 | break; | 551 | return false; |
552 | for (queue_id = 0, i = 0; | 552 | for (queue_id = 0, i = 0; |
553 | queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) { | 553 | queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) { |
554 | ring = &pcipriv->dev.tx_ring[queue_id]; | 554 | ring = &pcipriv->dev.tx_ring[queue_id]; |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/rtlwifi/rtl8192de/phy.c index 3ac7af1c550..0883349e1c8 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192de/phy.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/phy.c | |||
@@ -3374,7 +3374,7 @@ bool rtl92d_phy_set_rf_power_state(struct ieee80211_hw *hw, | |||
3374 | break; | 3374 | break; |
3375 | case ERFSLEEP: | 3375 | case ERFSLEEP: |
3376 | if (ppsc->rfpwr_state == ERFOFF) | 3376 | if (ppsc->rfpwr_state == ERFOFF) |
3377 | break; | 3377 | return false; |
3378 | 3378 | ||
3379 | for (queue_id = 0, i = 0; | 3379 | for (queue_id = 0, i = 0; |
3380 | queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) { | 3380 | queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) { |
diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/phy.c b/drivers/net/wireless/rtlwifi/rtl8192se/phy.c index f27171af979..f10ac1ad908 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192se/phy.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/phy.c | |||
@@ -602,7 +602,7 @@ bool rtl92s_phy_set_rf_power_state(struct ieee80211_hw *hw, | |||
602 | } | 602 | } |
603 | case ERFSLEEP: | 603 | case ERFSLEEP: |
604 | if (ppsc->rfpwr_state == ERFOFF) | 604 | if (ppsc->rfpwr_state == ERFOFF) |
605 | break; | 605 | return false; |
606 | 606 | ||
607 | for (queue_id = 0, i = 0; | 607 | for (queue_id = 0, i = 0; |
608 | queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) { | 608 | queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) { |
diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c index 84c934c0a54..520e8286db2 100644 --- a/drivers/ssb/driver_pcicore.c +++ b/drivers/ssb/driver_pcicore.c | |||
@@ -517,10 +517,14 @@ static void ssb_pcicore_pcie_setup_workarounds(struct ssb_pcicore *pc) | |||
517 | 517 | ||
518 | static void __devinit ssb_pcicore_init_clientmode(struct ssb_pcicore *pc) | 518 | static void __devinit ssb_pcicore_init_clientmode(struct ssb_pcicore *pc) |
519 | { | 519 | { |
520 | ssb_pcicore_fix_sprom_core_index(pc); | 520 | struct ssb_device *pdev = pc->dev; |
521 | struct ssb_bus *bus = pdev->bus; | ||
522 | |||
523 | if (bus->bustype == SSB_BUSTYPE_PCI) | ||
524 | ssb_pcicore_fix_sprom_core_index(pc); | ||
521 | 525 | ||
522 | /* Disable PCI interrupts. */ | 526 | /* Disable PCI interrupts. */ |
523 | ssb_write32(pc->dev, SSB_INTVEC, 0); | 527 | ssb_write32(pdev, SSB_INTVEC, 0); |
524 | 528 | ||
525 | /* Additional PCIe always once-executed workarounds */ | 529 | /* Additional PCIe always once-executed workarounds */ |
526 | if (pc->dev->id.coreid == SSB_DEV_PCIE) { | 530 | if (pc->dev->id.coreid == SSB_DEV_PCIE) { |
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index 5c7f0c3c74c..88754c067f1 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c | |||
@@ -309,6 +309,38 @@ ieee80211_wake_queue_agg(struct ieee80211_local *local, int tid) | |||
309 | __release(agg_queue); | 309 | __release(agg_queue); |
310 | } | 310 | } |
311 | 311 | ||
312 | /* | ||
313 | * splice packets from the STA's pending to the local pending, | ||
314 | * requires a call to ieee80211_agg_splice_finish later | ||
315 | */ | ||
316 | static void __acquires(agg_queue) | ||
317 | ieee80211_agg_splice_packets(struct ieee80211_local *local, | ||
318 | struct tid_ampdu_tx *tid_tx, u16 tid) | ||
319 | { | ||
320 | int queue = ieee80211_ac_from_tid(tid); | ||
321 | unsigned long flags; | ||
322 | |||
323 | ieee80211_stop_queue_agg(local, tid); | ||
324 | |||
325 | if (WARN(!tid_tx, "TID %d gone but expected when splicing aggregates" | ||
326 | " from the pending queue\n", tid)) | ||
327 | return; | ||
328 | |||
329 | if (!skb_queue_empty(&tid_tx->pending)) { | ||
330 | spin_lock_irqsave(&local->queue_stop_reason_lock, flags); | ||
331 | /* copy over remaining packets */ | ||
332 | skb_queue_splice_tail_init(&tid_tx->pending, | ||
333 | &local->pending[queue]); | ||
334 | spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); | ||
335 | } | ||
336 | } | ||
337 | |||
338 | static void __releases(agg_queue) | ||
339 | ieee80211_agg_splice_finish(struct ieee80211_local *local, u16 tid) | ||
340 | { | ||
341 | ieee80211_wake_queue_agg(local, tid); | ||
342 | } | ||
343 | |||
312 | void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid) | 344 | void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid) |
313 | { | 345 | { |
314 | struct tid_ampdu_tx *tid_tx; | 346 | struct tid_ampdu_tx *tid_tx; |
@@ -320,19 +352,17 @@ void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid) | |||
320 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); | 352 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); |
321 | 353 | ||
322 | /* | 354 | /* |
323 | * While we're asking the driver about the aggregation, | 355 | * Start queuing up packets for this aggregation session. |
324 | * stop the AC queue so that we don't have to worry | 356 | * We're going to release them once the driver is OK with |
325 | * about frames that came in while we were doing that, | 357 | * that. |
326 | * which would require us to put them to the AC pending | ||
327 | * afterwards which just makes the code more complex. | ||
328 | */ | 358 | */ |
329 | ieee80211_stop_queue_agg(local, tid); | ||
330 | |||
331 | clear_bit(HT_AGG_STATE_WANT_START, &tid_tx->state); | 359 | clear_bit(HT_AGG_STATE_WANT_START, &tid_tx->state); |
332 | 360 | ||
333 | /* | 361 | /* |
334 | * make sure no packets are being processed to get | 362 | * Make sure no packets are being processed. This ensures that |
335 | * valid starting sequence number | 363 | * we have a valid starting sequence number and that in-flight |
364 | * packets have been flushed out and no packets for this TID | ||
365 | * will go into the driver during the ampdu_action call. | ||
336 | */ | 366 | */ |
337 | synchronize_net(); | 367 | synchronize_net(); |
338 | 368 | ||
@@ -346,17 +376,15 @@ void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid) | |||
346 | " tid %d\n", tid); | 376 | " tid %d\n", tid); |
347 | #endif | 377 | #endif |
348 | spin_lock_bh(&sta->lock); | 378 | spin_lock_bh(&sta->lock); |
379 | ieee80211_agg_splice_packets(local, tid_tx, tid); | ||
349 | ieee80211_assign_tid_tx(sta, tid, NULL); | 380 | ieee80211_assign_tid_tx(sta, tid, NULL); |
381 | ieee80211_agg_splice_finish(local, tid); | ||
350 | spin_unlock_bh(&sta->lock); | 382 | spin_unlock_bh(&sta->lock); |
351 | 383 | ||
352 | ieee80211_wake_queue_agg(local, tid); | ||
353 | kfree_rcu(tid_tx, rcu_head); | 384 | kfree_rcu(tid_tx, rcu_head); |
354 | return; | 385 | return; |
355 | } | 386 | } |
356 | 387 | ||
357 | /* we can take packets again now */ | ||
358 | ieee80211_wake_queue_agg(local, tid); | ||
359 | |||
360 | /* activate the timer for the recipient's addBA response */ | 388 | /* activate the timer for the recipient's addBA response */ |
361 | mod_timer(&tid_tx->addba_resp_timer, jiffies + ADDBA_RESP_INTERVAL); | 389 | mod_timer(&tid_tx->addba_resp_timer, jiffies + ADDBA_RESP_INTERVAL); |
362 | #ifdef CONFIG_MAC80211_HT_DEBUG | 390 | #ifdef CONFIG_MAC80211_HT_DEBUG |
@@ -516,38 +544,6 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid, | |||
516 | } | 544 | } |
517 | EXPORT_SYMBOL(ieee80211_start_tx_ba_session); | 545 | EXPORT_SYMBOL(ieee80211_start_tx_ba_session); |
518 | 546 | ||
519 | /* | ||
520 | * splice packets from the STA's pending to the local pending, | ||
521 | * requires a call to ieee80211_agg_splice_finish later | ||
522 | */ | ||
523 | static void __acquires(agg_queue) | ||
524 | ieee80211_agg_splice_packets(struct ieee80211_local *local, | ||
525 | struct tid_ampdu_tx *tid_tx, u16 tid) | ||
526 | { | ||
527 | int queue = ieee80211_ac_from_tid(tid); | ||
528 | unsigned long flags; | ||
529 | |||
530 | ieee80211_stop_queue_agg(local, tid); | ||
531 | |||
532 | if (WARN(!tid_tx, "TID %d gone but expected when splicing aggregates" | ||
533 | " from the pending queue\n", tid)) | ||
534 | return; | ||
535 | |||
536 | if (!skb_queue_empty(&tid_tx->pending)) { | ||
537 | spin_lock_irqsave(&local->queue_stop_reason_lock, flags); | ||
538 | /* copy over remaining packets */ | ||
539 | skb_queue_splice_tail_init(&tid_tx->pending, | ||
540 | &local->pending[queue]); | ||
541 | spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); | ||
542 | } | ||
543 | } | ||
544 | |||
545 | static void __releases(agg_queue) | ||
546 | ieee80211_agg_splice_finish(struct ieee80211_local *local, u16 tid) | ||
547 | { | ||
548 | ieee80211_wake_queue_agg(local, tid); | ||
549 | } | ||
550 | |||
551 | static void ieee80211_agg_tx_operational(struct ieee80211_local *local, | 547 | static void ieee80211_agg_tx_operational(struct ieee80211_local *local, |
552 | struct sta_info *sta, u16 tid) | 548 | struct sta_info *sta, u16 tid) |
553 | { | 549 | { |
diff --git a/net/nfc/nci/core.c b/net/nfc/nci/core.c index 37de28e9733..c55f233a5e2 100644 --- a/net/nfc/nci/core.c +++ b/net/nfc/nci/core.c | |||
@@ -71,7 +71,7 @@ static int __nci_request(struct nci_dev *ndev, | |||
71 | __u32 timeout) | 71 | __u32 timeout) |
72 | { | 72 | { |
73 | int rc = 0; | 73 | int rc = 0; |
74 | unsigned long completion_rc; | 74 | long completion_rc; |
75 | 75 | ||
76 | ndev->req_status = NCI_REQ_PEND; | 76 | ndev->req_status = NCI_REQ_PEND; |
77 | 77 | ||