Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'wireless-drivers-for-davem-2016-06-04' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers

Kalle Valo says:

====================
wireless-drivers fixes for 4.7

brcmfmac

* add fallback RSSI report for devices that do not report per-chain values
* fix a null pointer derefence regression on PCIe full dongle devices

rtlwifi

* fix scheduling while atomic regression from commit 49f86ec21c01

MAINTAINERS

* add file patterns for wireless device tree bindings
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+22 -3
+1
MAINTAINERS
··· 8008 8008 T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git 8009 8009 T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git 8010 8010 S: Maintained 8011 + F: Documentation/devicetree/bindings/net/wireless/ 8011 8012 F: drivers/net/wireless/ 8012 8013 8013 8014 NETXEN (1/10) GbE SUPPORT
+16
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
··· 2540 2540 const u8 *mac, struct station_info *sinfo) 2541 2541 { 2542 2542 struct brcmf_if *ifp = netdev_priv(ndev); 2543 + struct brcmf_scb_val_le scb_val; 2543 2544 s32 err = 0; 2544 2545 struct brcmf_sta_info_le sta_info_le; 2545 2546 u32 sta_flags; 2546 2547 u32 is_tdls_peer; 2547 2548 s32 total_rssi; 2548 2549 s32 count_rssi; 2550 + int rssi; 2549 2551 u32 i; 2550 2552 2551 2553 brcmf_dbg(TRACE, "Enter, MAC %pM\n", mac); ··· 2631 2629 sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL); 2632 2630 total_rssi /= count_rssi; 2633 2631 sinfo->signal = total_rssi; 2632 + } else if (test_bit(BRCMF_VIF_STATUS_CONNECTED, 2633 + &ifp->vif->sme_state)) { 2634 + memset(&scb_val, 0, sizeof(scb_val)); 2635 + err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_RSSI, 2636 + &scb_val, sizeof(scb_val)); 2637 + if (err) { 2638 + brcmf_err("Could not get rssi (%d)\n", err); 2639 + goto done; 2640 + } else { 2641 + rssi = le32_to_cpu(scb_val.val); 2642 + sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL); 2643 + sinfo->signal = rssi; 2644 + brcmf_dbg(CONN, "RSSI %d dBm\n", rssi); 2645 + } 2634 2646 } 2635 2647 } 2636 2648 done:
+2
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
··· 1157 1157 brcmu_pkt_buf_free_skb(skb); 1158 1158 return; 1159 1159 } 1160 + 1161 + skb->protocol = eth_type_trans(skb, ifp->ndev); 1160 1162 brcmf_netif_rx(ifp, skb); 1161 1163 } 1162 1164
+3 -3
drivers/net/wireless/realtek/rtlwifi/core.c
··· 54 54 void rtl_addr_delay(u32 addr) 55 55 { 56 56 if (addr == 0xfe) 57 - msleep(50); 57 + mdelay(50); 58 58 else if (addr == 0xfd) 59 59 msleep(5); 60 60 else if (addr == 0xfc) ··· 75 75 rtl_addr_delay(addr); 76 76 } else { 77 77 rtl_set_rfreg(hw, rfpath, addr, mask, data); 78 - usleep_range(1, 2); 78 + udelay(1); 79 79 } 80 80 } 81 81 EXPORT_SYMBOL(rtl_rfreg_delay); ··· 86 86 rtl_addr_delay(addr); 87 87 } else { 88 88 rtl_set_bbreg(hw, addr, MASKDWORD, data); 89 - usleep_range(1, 2); 89 + udelay(1); 90 90 } 91 91 } 92 92 EXPORT_SYMBOL(rtl_bb_delay);