wireless-drivers fixes for 4.10
All small fixes this time, especially important are the regression fixes for rtlwifi and ath9k. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAABAgAGBQJYW+jGAAoJEG4XJFUm622bFIUH/isc9kpL63eJOwKr6P0Uow92 XF+OcrnhRxlVqAsMx0yvrNsVAIZkLfAjJhLZv91h5Vpv0UCnLP4LpH1IqwiHih1u oxZVbcV7qAOZopgvWDU8R2Nh6Z4FPWYmDttvg86rQKLh82DuNCvl+btl/cCFaVDS 5T1xpY+BP2CbIUyTJ3Sg1t4yZI06dZODaLuiFzxM1MjEhQ0p785VJBASekLzo6YE 6YMzDIP6iir/WKod9HXtJJIgv+gBiZMCTmw7QH+G2o/i3WIjclqsSSwCepDCpmlI AuicYeeObWPOQFpCpD4KgrshdLM/zytLuRvaU8lVofr81I98Hs8rHBbYJTwZsGE= =kA4D -----END PGP SIGNATURE----- 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>
This commit is contained in:
commit
2e3d5fa44f
|
@ -8271,7 +8271,7 @@ void ath10k_wmi_free_host_mem(struct ath10k *ar)
|
||||||
dma_unmap_single(ar->dev,
|
dma_unmap_single(ar->dev,
|
||||||
ar->wmi.mem_chunks[i].paddr,
|
ar->wmi.mem_chunks[i].paddr,
|
||||||
ar->wmi.mem_chunks[i].len,
|
ar->wmi.mem_chunks[i].len,
|
||||||
DMA_TO_DEVICE);
|
DMA_BIDIRECTIONAL);
|
||||||
kfree(ar->wmi.mem_chunks[i].vaddr);
|
kfree(ar->wmi.mem_chunks[i].vaddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2713,7 +2713,7 @@ void ath_tx_edma_tasklet(struct ath_softc *sc)
|
||||||
fifo_list = &txq->txq_fifo[txq->txq_tailidx];
|
fifo_list = &txq->txq_fifo[txq->txq_tailidx];
|
||||||
if (list_empty(fifo_list)) {
|
if (list_empty(fifo_list)) {
|
||||||
ath_txq_unlock(sc, txq);
|
ath_txq_unlock(sc, txq);
|
||||||
return;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
bf = list_first_entry(fifo_list, struct ath_buf, list);
|
bf = list_first_entry(fifo_list, struct ath_buf, list);
|
||||||
|
|
|
@ -6868,7 +6868,7 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
|
||||||
|
|
||||||
err = brcmf_p2p_attach(cfg, p2pdev_forced);
|
err = brcmf_p2p_attach(cfg, p2pdev_forced);
|
||||||
if (err) {
|
if (err) {
|
||||||
brcmf_err("P2P initilisation failed (%d)\n", err);
|
brcmf_err("P2P initialisation failed (%d)\n", err);
|
||||||
goto wiphy_unreg_out;
|
goto wiphy_unreg_out;
|
||||||
}
|
}
|
||||||
err = brcmf_btcoex_attach(cfg);
|
err = brcmf_btcoex_attach(cfg);
|
||||||
|
@ -6893,7 +6893,7 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
|
||||||
err = brcmf_fweh_activate_events(ifp);
|
err = brcmf_fweh_activate_events(ifp);
|
||||||
if (err) {
|
if (err) {
|
||||||
brcmf_err("FWEH activation failed (%d)\n", err);
|
brcmf_err("FWEH activation failed (%d)\n", err);
|
||||||
goto wiphy_unreg_out;
|
goto detach;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fill in some of the advertised nl80211 supported features */
|
/* Fill in some of the advertised nl80211 supported features */
|
||||||
|
@ -6908,6 +6908,9 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
|
||||||
|
|
||||||
return cfg;
|
return cfg;
|
||||||
|
|
||||||
|
detach:
|
||||||
|
brcmf_btcoex_detach(cfg);
|
||||||
|
brcmf_p2p_detach(&cfg->p2p);
|
||||||
wiphy_unreg_out:
|
wiphy_unreg_out:
|
||||||
wiphy_unregister(cfg->wiphy);
|
wiphy_unregister(cfg->wiphy);
|
||||||
priv_out:
|
priv_out:
|
||||||
|
|
|
@ -137,6 +137,7 @@ static int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid,
|
||||||
pfn.wpa_auth = cpu_to_le32(BRCMF_PNO_WPA_AUTH_ANY);
|
pfn.wpa_auth = cpu_to_le32(BRCMF_PNO_WPA_AUTH_ANY);
|
||||||
pfn.wsec = cpu_to_le32(0);
|
pfn.wsec = cpu_to_le32(0);
|
||||||
pfn.infra = cpu_to_le32(1);
|
pfn.infra = cpu_to_le32(1);
|
||||||
|
pfn.flags = 0;
|
||||||
if (active)
|
if (active)
|
||||||
pfn.flags = cpu_to_le32(1 << BRCMF_PNO_HIDDEN_BIT);
|
pfn.flags = cpu_to_le32(1 << BRCMF_PNO_HIDDEN_BIT);
|
||||||
pfn.ssid.SSID_len = cpu_to_le32(ssid->ssid_len);
|
pfn.ssid.SSID_len = cpu_to_le32(ssid->ssid_len);
|
||||||
|
|
|
@ -1829,7 +1829,8 @@ bool rtl_cmd_send_packet(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||||
|
|
||||||
spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags);
|
spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags);
|
||||||
pskb = __skb_dequeue(&ring->queue);
|
pskb = __skb_dequeue(&ring->queue);
|
||||||
dev_kfree_skb_irq(pskb);
|
if (pskb)
|
||||||
|
dev_kfree_skb_irq(pskb);
|
||||||
|
|
||||||
/*this is wrong, fill_tx_cmddesc needs update*/
|
/*this is wrong, fill_tx_cmddesc needs update*/
|
||||||
pdesc = &ring->desc[0];
|
pdesc = &ring->desc[0];
|
||||||
|
|
Loading…
Reference in New Issue