diff options
| author | David S. Miller <davem@davemloft.net> | 2016-12-22 11:15:53 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-12-22 11:15:53 -0500 |
| commit | 2e3d5fa44f0f6e71ada2c4ed212ac23ca7ff0064 (patch) | |
| tree | 9287293e967daedcea6a412a86e0c9a0dc1ed36b | |
| parent | 7d99569460eae28b187d574aec930a4cf8b90441 (diff) | |
| parent | 22b68b93ae2506bd56ee3bf232a51bc8ab955b56 (diff) | |
Merge tag 'wireless-drivers-for-davem-2016-12-22' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers
Kalle Valo says:
====================
wireless-drivers fixes for 4.10
All small fixes this time, especially important are the regression
fixes for rtlwifi and ath9k.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/wireless/ath/ath10k/wmi.c | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 7 | ||||
| -rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/realtek/rtlwifi/core.c | 3 |
5 files changed, 10 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c index c893314a191f..50d6ee6afe26 100644 --- a/drivers/net/wireless/ath/ath10k/wmi.c +++ b/drivers/net/wireless/ath/ath10k/wmi.c | |||
| @@ -8271,7 +8271,7 @@ void ath10k_wmi_free_host_mem(struct ath10k *ar) | |||
| 8271 | dma_unmap_single(ar->dev, | 8271 | dma_unmap_single(ar->dev, |
| 8272 | ar->wmi.mem_chunks[i].paddr, | 8272 | ar->wmi.mem_chunks[i].paddr, |
| 8273 | ar->wmi.mem_chunks[i].len, | 8273 | ar->wmi.mem_chunks[i].len, |
| 8274 | DMA_TO_DEVICE); | 8274 | DMA_BIDIRECTIONAL); |
| 8275 | kfree(ar->wmi.mem_chunks[i].vaddr); | 8275 | kfree(ar->wmi.mem_chunks[i].vaddr); |
| 8276 | } | 8276 | } |
| 8277 | 8277 | ||
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 486afa98a5b8..4e2f3ac266c3 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c | |||
| @@ -2713,7 +2713,7 @@ void ath_tx_edma_tasklet(struct ath_softc *sc) | |||
| 2713 | fifo_list = &txq->txq_fifo[txq->txq_tailidx]; | 2713 | fifo_list = &txq->txq_fifo[txq->txq_tailidx]; |
| 2714 | if (list_empty(fifo_list)) { | 2714 | if (list_empty(fifo_list)) { |
| 2715 | ath_txq_unlock(sc, txq); | 2715 | ath_txq_unlock(sc, txq); |
| 2716 | return; | 2716 | break; |
| 2717 | } | 2717 | } |
| 2718 | 2718 | ||
| 2719 | bf = list_first_entry(fifo_list, struct ath_buf, list); | 2719 | bf = list_first_entry(fifo_list, struct ath_buf, list); |
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index ccae3bbe7db2..7ffc4aba5bab 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | |||
| @@ -6868,7 +6868,7 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr, | |||
| 6868 | 6868 | ||
| 6869 | err = brcmf_p2p_attach(cfg, p2pdev_forced); | 6869 | err = brcmf_p2p_attach(cfg, p2pdev_forced); |
| 6870 | if (err) { | 6870 | if (err) { |
| 6871 | brcmf_err("P2P initilisation failed (%d)\n", err); | 6871 | brcmf_err("P2P initialisation failed (%d)\n", err); |
| 6872 | goto wiphy_unreg_out; | 6872 | goto wiphy_unreg_out; |
| 6873 | } | 6873 | } |
| 6874 | err = brcmf_btcoex_attach(cfg); | 6874 | err = brcmf_btcoex_attach(cfg); |
| @@ -6893,7 +6893,7 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr, | |||
| 6893 | err = brcmf_fweh_activate_events(ifp); | 6893 | err = brcmf_fweh_activate_events(ifp); |
| 6894 | if (err) { | 6894 | if (err) { |
| 6895 | brcmf_err("FWEH activation failed (%d)\n", err); | 6895 | brcmf_err("FWEH activation failed (%d)\n", err); |
| 6896 | goto wiphy_unreg_out; | 6896 | goto detach; |
| 6897 | } | 6897 | } |
| 6898 | 6898 | ||
| 6899 | /* Fill in some of the advertised nl80211 supported features */ | 6899 | /* Fill in some of the advertised nl80211 supported features */ |
| @@ -6908,6 +6908,9 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr, | |||
| 6908 | 6908 | ||
| 6909 | return cfg; | 6909 | return cfg; |
| 6910 | 6910 | ||
| 6911 | detach: | ||
| 6912 | brcmf_btcoex_detach(cfg); | ||
| 6913 | brcmf_p2p_detach(&cfg->p2p); | ||
| 6911 | wiphy_unreg_out: | 6914 | wiphy_unreg_out: |
| 6912 | wiphy_unregister(cfg->wiphy); | 6915 | wiphy_unregister(cfg->wiphy); |
| 6913 | priv_out: | 6916 | priv_out: |
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c index f273cab0da10..9a25e79a46cf 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c | |||
| @@ -137,6 +137,7 @@ static int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid, | |||
| 137 | pfn.wpa_auth = cpu_to_le32(BRCMF_PNO_WPA_AUTH_ANY); | 137 | pfn.wpa_auth = cpu_to_le32(BRCMF_PNO_WPA_AUTH_ANY); |
| 138 | pfn.wsec = cpu_to_le32(0); | 138 | pfn.wsec = cpu_to_le32(0); |
| 139 | pfn.infra = cpu_to_le32(1); | 139 | pfn.infra = cpu_to_le32(1); |
| 140 | pfn.flags = 0; | ||
| 140 | if (active) | 141 | if (active) |
| 141 | pfn.flags = cpu_to_le32(1 << BRCMF_PNO_HIDDEN_BIT); | 142 | pfn.flags = cpu_to_le32(1 << BRCMF_PNO_HIDDEN_BIT); |
| 142 | pfn.ssid.SSID_len = cpu_to_le32(ssid->ssid_len); | 143 | pfn.ssid.SSID_len = cpu_to_le32(ssid->ssid_len); |
diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c index 2caa4ad04dba..ded1493fee9c 100644 --- a/drivers/net/wireless/realtek/rtlwifi/core.c +++ b/drivers/net/wireless/realtek/rtlwifi/core.c | |||
| @@ -1829,7 +1829,8 @@ bool rtl_cmd_send_packet(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
| 1829 | 1829 | ||
| 1830 | spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); | 1830 | spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); |
| 1831 | pskb = __skb_dequeue(&ring->queue); | 1831 | pskb = __skb_dequeue(&ring->queue); |
| 1832 | dev_kfree_skb_irq(pskb); | 1832 | if (pskb) |
| 1833 | dev_kfree_skb_irq(pskb); | ||
| 1833 | 1834 | ||
| 1834 | /*this is wrong, fill_tx_cmddesc needs update*/ | 1835 | /*this is wrong, fill_tx_cmddesc needs update*/ |
| 1835 | pdesc = &ring->desc[0]; | 1836 | pdesc = &ring->desc[0]; |
