Loading drivers/bluetooth/btusb.c +5 −1 Original line number Diff line number Diff line Loading @@ -71,6 +71,9 @@ static struct usb_device_id btusb_table[] = { /* Apple MacBookAir3,1, MacBookAir3,2 */ { USB_DEVICE(0x05ac, 0x821b) }, /* Apple MacBookPro8,2 */ { USB_DEVICE(0x05ac, 0x821a) }, /* AVM BlueFRITZ! USB v2.0 */ { USB_DEVICE(0x057c, 0x3800) }, Loading Loading @@ -690,7 +693,8 @@ static int btusb_send_frame(struct sk_buff *skb) break; case HCI_ACLDATA_PKT: if (!data->bulk_tx_ep || hdev->conn_hash.acl_num < 1) if (!data->bulk_tx_ep || (hdev->conn_hash.acl_num < 1 && hdev->conn_hash.le_num < 1)) return -ENODEV; urb = usb_alloc_urb(0, GFP_ATOMIC); Loading drivers/net/wireless/ath/ath9k/main.c +4 −0 Original line number Diff line number Diff line Loading @@ -1048,6 +1048,8 @@ static int ath9k_start(struct ieee80211_hw *hw) "Starting driver with initial channel: %d MHz\n", curchan->center_freq); ath9k_ps_wakeup(sc); mutex_lock(&sc->mutex); /* setup initial channel */ Loading Loading @@ -1143,6 +1145,8 @@ static int ath9k_start(struct ieee80211_hw *hw) mutex_unlock: mutex_unlock(&sc->mutex); ath9k_ps_restore(sc); return r; } Loading drivers/net/wireless/ath/carl9170/carl9170.h +1 −0 Original line number Diff line number Diff line Loading @@ -443,6 +443,7 @@ struct carl9170_ba_stats { u8 ampdu_len; u8 ampdu_ack_len; bool clear; bool req; }; struct carl9170_sta_info { Loading drivers/net/wireless/ath/carl9170/main.c +1 −0 Original line number Diff line number Diff line Loading @@ -1355,6 +1355,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw, tid_info = rcu_dereference(sta_info->agg[tid]); sta_info->stats[tid].clear = true; sta_info->stats[tid].req = false; if (tid_info) { bitmap_zero(tid_info->bitmap, CARL9170_BAW_SIZE); Loading drivers/net/wireless/ath/carl9170/tx.c +7 −0 Original line number Diff line number Diff line Loading @@ -383,6 +383,7 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar, if (sta_info->stats[tid].clear) { sta_info->stats[tid].clear = false; sta_info->stats[tid].req = false; sta_info->stats[tid].ampdu_len = 0; sta_info->stats[tid].ampdu_ack_len = 0; } Loading @@ -391,10 +392,16 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar, if (txinfo->status.rates[0].count == 1) sta_info->stats[tid].ampdu_ack_len++; if (!(txinfo->flags & IEEE80211_TX_STAT_ACK)) sta_info->stats[tid].req = true; if (super->f.mac_control & cpu_to_le16(AR9170_TX_MAC_IMM_BA)) { super->s.rix = sta_info->stats[tid].ampdu_len; super->s.cnt = sta_info->stats[tid].ampdu_ack_len; txinfo->flags |= IEEE80211_TX_STAT_AMPDU; if (sta_info->stats[tid].req) txinfo->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK; sta_info->stats[tid].clear = true; } spin_unlock_bh(&tid_info->lock); Loading Loading
drivers/bluetooth/btusb.c +5 −1 Original line number Diff line number Diff line Loading @@ -71,6 +71,9 @@ static struct usb_device_id btusb_table[] = { /* Apple MacBookAir3,1, MacBookAir3,2 */ { USB_DEVICE(0x05ac, 0x821b) }, /* Apple MacBookPro8,2 */ { USB_DEVICE(0x05ac, 0x821a) }, /* AVM BlueFRITZ! USB v2.0 */ { USB_DEVICE(0x057c, 0x3800) }, Loading Loading @@ -690,7 +693,8 @@ static int btusb_send_frame(struct sk_buff *skb) break; case HCI_ACLDATA_PKT: if (!data->bulk_tx_ep || hdev->conn_hash.acl_num < 1) if (!data->bulk_tx_ep || (hdev->conn_hash.acl_num < 1 && hdev->conn_hash.le_num < 1)) return -ENODEV; urb = usb_alloc_urb(0, GFP_ATOMIC); Loading
drivers/net/wireless/ath/ath9k/main.c +4 −0 Original line number Diff line number Diff line Loading @@ -1048,6 +1048,8 @@ static int ath9k_start(struct ieee80211_hw *hw) "Starting driver with initial channel: %d MHz\n", curchan->center_freq); ath9k_ps_wakeup(sc); mutex_lock(&sc->mutex); /* setup initial channel */ Loading Loading @@ -1143,6 +1145,8 @@ static int ath9k_start(struct ieee80211_hw *hw) mutex_unlock: mutex_unlock(&sc->mutex); ath9k_ps_restore(sc); return r; } Loading
drivers/net/wireless/ath/carl9170/carl9170.h +1 −0 Original line number Diff line number Diff line Loading @@ -443,6 +443,7 @@ struct carl9170_ba_stats { u8 ampdu_len; u8 ampdu_ack_len; bool clear; bool req; }; struct carl9170_sta_info { Loading
drivers/net/wireless/ath/carl9170/main.c +1 −0 Original line number Diff line number Diff line Loading @@ -1355,6 +1355,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw, tid_info = rcu_dereference(sta_info->agg[tid]); sta_info->stats[tid].clear = true; sta_info->stats[tid].req = false; if (tid_info) { bitmap_zero(tid_info->bitmap, CARL9170_BAW_SIZE); Loading
drivers/net/wireless/ath/carl9170/tx.c +7 −0 Original line number Diff line number Diff line Loading @@ -383,6 +383,7 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar, if (sta_info->stats[tid].clear) { sta_info->stats[tid].clear = false; sta_info->stats[tid].req = false; sta_info->stats[tid].ampdu_len = 0; sta_info->stats[tid].ampdu_ack_len = 0; } Loading @@ -391,10 +392,16 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar, if (txinfo->status.rates[0].count == 1) sta_info->stats[tid].ampdu_ack_len++; if (!(txinfo->flags & IEEE80211_TX_STAT_ACK)) sta_info->stats[tid].req = true; if (super->f.mac_control & cpu_to_le16(AR9170_TX_MAC_IMM_BA)) { super->s.rix = sta_info->stats[tid].ampdu_len; super->s.cnt = sta_info->stats[tid].ampdu_ack_len; txinfo->flags |= IEEE80211_TX_STAT_AMPDU; if (sta_info->stats[tid].req) txinfo->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK; sta_info->stats[tid].clear = true; } spin_unlock_bh(&tid_info->lock); Loading