mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
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 commit49f86ec21c
MAINTAINERS * add file patterns for wireless device tree bindings -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAABAgAGBQJXUvUsAAoJEG4XJFUm622bdKAH/R2UKYx3t73llbqlpgkSCOxZ wRMleoRZRF8DI9lT4QUxGCq5wxED0U2TtDJh7LJJ9I5sAY1n50w+e2TTZ5r6ftXo 1J79NvvrbVM8227shburpveyxzeQkLtI+DDkP07nMtF3VNxOrU9+z3TPM27QR1LM 0pq/yrKZ7Qnrf9gf4oTeH0dQKYmA4Om/HXjnMU4Sxi/vhKQBfcemjHacv37BTG/F 4PrFzC17O7wVFDeKKXXieK1Z9inpocZMG9OceHXxi9fwrT+RhMnJdrDarSi4b92W m1yiRcS0389R/jEG3O2LRVNIJVnBHdQmEU8Bg8nup377sFxX/weWVYagaX4f2bE= =AObt -----END PGP SIGNATURE----- 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 commit49f86ec21c
MAINTAINERS * add file patterns for wireless device tree bindings ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
4ef36e1566
@ -8008,6 +8008,7 @@ Q: http://patchwork.kernel.org/project/linux-wireless/list/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/net/wireless/
|
||||
F: drivers/net/wireless/
|
||||
|
||||
NETXEN (1/10) GbE SUPPORT
|
||||
|
@ -2540,12 +2540,14 @@ brcmf_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev,
|
||||
const u8 *mac, struct station_info *sinfo)
|
||||
{
|
||||
struct brcmf_if *ifp = netdev_priv(ndev);
|
||||
struct brcmf_scb_val_le scb_val;
|
||||
s32 err = 0;
|
||||
struct brcmf_sta_info_le sta_info_le;
|
||||
u32 sta_flags;
|
||||
u32 is_tdls_peer;
|
||||
s32 total_rssi;
|
||||
s32 count_rssi;
|
||||
int rssi;
|
||||
u32 i;
|
||||
|
||||
brcmf_dbg(TRACE, "Enter, MAC %pM\n", mac);
|
||||
@ -2629,6 +2631,20 @@ brcmf_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev,
|
||||
sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
|
||||
total_rssi /= count_rssi;
|
||||
sinfo->signal = total_rssi;
|
||||
} else if (test_bit(BRCMF_VIF_STATUS_CONNECTED,
|
||||
&ifp->vif->sme_state)) {
|
||||
memset(&scb_val, 0, sizeof(scb_val));
|
||||
err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_RSSI,
|
||||
&scb_val, sizeof(scb_val));
|
||||
if (err) {
|
||||
brcmf_err("Could not get rssi (%d)\n", err);
|
||||
goto done;
|
||||
} else {
|
||||
rssi = le32_to_cpu(scb_val.val);
|
||||
sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
|
||||
sinfo->signal = rssi;
|
||||
brcmf_dbg(CONN, "RSSI %d dBm\n", rssi);
|
||||
}
|
||||
}
|
||||
}
|
||||
done:
|
||||
|
@ -1157,6 +1157,8 @@ brcmf_msgbuf_process_rx_complete(struct brcmf_msgbuf *msgbuf, void *buf)
|
||||
brcmu_pkt_buf_free_skb(skb);
|
||||
return;
|
||||
}
|
||||
|
||||
skb->protocol = eth_type_trans(skb, ifp->ndev);
|
||||
brcmf_netif_rx(ifp, skb);
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@ EXPORT_SYMBOL(channel5g_80m);
|
||||
void rtl_addr_delay(u32 addr)
|
||||
{
|
||||
if (addr == 0xfe)
|
||||
msleep(50);
|
||||
mdelay(50);
|
||||
else if (addr == 0xfd)
|
||||
msleep(5);
|
||||
else if (addr == 0xfc)
|
||||
@ -75,7 +75,7 @@ void rtl_rfreg_delay(struct ieee80211_hw *hw, enum radio_path rfpath, u32 addr,
|
||||
rtl_addr_delay(addr);
|
||||
} else {
|
||||
rtl_set_rfreg(hw, rfpath, addr, mask, data);
|
||||
usleep_range(1, 2);
|
||||
udelay(1);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(rtl_rfreg_delay);
|
||||
@ -86,7 +86,7 @@ void rtl_bb_delay(struct ieee80211_hw *hw, u32 addr, u32 data)
|
||||
rtl_addr_delay(addr);
|
||||
} else {
|
||||
rtl_set_bbreg(hw, addr, MASKDWORD, data);
|
||||
usleep_range(1, 2);
|
||||
udelay(1);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(rtl_bb_delay);
|
||||
|
Loading…
Reference in New Issue
Block a user