mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 13:41:30 +00: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
4 changed files with 22 additions and 3 deletions
|
@ -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.git
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/net/wireless/
|
||||||
F: drivers/net/wireless/
|
F: drivers/net/wireless/
|
||||||
|
|
||||||
NETXEN (1/10) GbE SUPPORT
|
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)
|
const u8 *mac, struct station_info *sinfo)
|
||||||
{
|
{
|
||||||
struct brcmf_if *ifp = netdev_priv(ndev);
|
struct brcmf_if *ifp = netdev_priv(ndev);
|
||||||
|
struct brcmf_scb_val_le scb_val;
|
||||||
s32 err = 0;
|
s32 err = 0;
|
||||||
struct brcmf_sta_info_le sta_info_le;
|
struct brcmf_sta_info_le sta_info_le;
|
||||||
u32 sta_flags;
|
u32 sta_flags;
|
||||||
u32 is_tdls_peer;
|
u32 is_tdls_peer;
|
||||||
s32 total_rssi;
|
s32 total_rssi;
|
||||||
s32 count_rssi;
|
s32 count_rssi;
|
||||||
|
int rssi;
|
||||||
u32 i;
|
u32 i;
|
||||||
|
|
||||||
brcmf_dbg(TRACE, "Enter, MAC %pM\n", mac);
|
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);
|
sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
|
||||||
total_rssi /= count_rssi;
|
total_rssi /= count_rssi;
|
||||||
sinfo->signal = total_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:
|
done:
|
||||||
|
|
|
@ -1157,6 +1157,8 @@ brcmf_msgbuf_process_rx_complete(struct brcmf_msgbuf *msgbuf, void *buf)
|
||||||
brcmu_pkt_buf_free_skb(skb);
|
brcmu_pkt_buf_free_skb(skb);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
skb->protocol = eth_type_trans(skb, ifp->ndev);
|
||||||
brcmf_netif_rx(ifp, skb);
|
brcmf_netif_rx(ifp, skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ EXPORT_SYMBOL(channel5g_80m);
|
||||||
void rtl_addr_delay(u32 addr)
|
void rtl_addr_delay(u32 addr)
|
||||||
{
|
{
|
||||||
if (addr == 0xfe)
|
if (addr == 0xfe)
|
||||||
msleep(50);
|
mdelay(50);
|
||||||
else if (addr == 0xfd)
|
else if (addr == 0xfd)
|
||||||
msleep(5);
|
msleep(5);
|
||||||
else if (addr == 0xfc)
|
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);
|
rtl_addr_delay(addr);
|
||||||
} else {
|
} else {
|
||||||
rtl_set_rfreg(hw, rfpath, addr, mask, data);
|
rtl_set_rfreg(hw, rfpath, addr, mask, data);
|
||||||
usleep_range(1, 2);
|
udelay(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(rtl_rfreg_delay);
|
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);
|
rtl_addr_delay(addr);
|
||||||
} else {
|
} else {
|
||||||
rtl_set_bbreg(hw, addr, MASKDWORD, data);
|
rtl_set_bbreg(hw, addr, MASKDWORD, data);
|
||||||
usleep_range(1, 2);
|
udelay(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(rtl_bb_delay);
|
EXPORT_SYMBOL(rtl_bb_delay);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue