diff options
author | Kalle Valo <kvalo@codeaurora.org> | 2015-01-22 07:49:44 -0500 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2015-01-22 07:49:44 -0500 |
commit | 6b03e32d575917d048875a182bd2dd8924036000 (patch) | |
tree | 634b311d02423f2c1138e06be53d1842902bc28b /drivers/net/wireless/ti | |
parent | bc48a51c2a29e231256c2f96daf80c2b7a45f390 (diff) | |
parent | c1e140bf79d817d4a7aa9932eb98b0359c87af33 (diff) |
Merge commit 'c1e140bf79d817d4a7aa9932eb98b0359c87af33' from mac80211-next
Patch "ath9k: Fix no-ack frame status" needs these mac80211 patches:
commit 5cf16616e152dd5c274a65954c77f64892d025a8
Author: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Date: Wed Dec 10 21:26:11 2014 +0530
mac80211: Fix accounting of multicast frames
commit 6b127c71fbdd3daacfd8b9f80b8e6ebfb70a889e
Author: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Date: Wed Dec 10 21:26:10 2014 +0530
mac80211: Move IEEE80211_TX_CTL_PS_RESPONSE
Conflicts:
drivers/net/wireless/ath/wil6210/cfg80211.c
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
Diffstat (limited to 'drivers/net/wireless/ti')
-rw-r--r-- | drivers/net/wireless/ti/wl1251/main.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/main.c | 22 |
2 files changed, 14 insertions, 13 deletions
diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c index 0b30a7b4d663..d4ba009ac9aa 100644 --- a/drivers/net/wireless/ti/wl1251/main.c +++ b/drivers/net/wireless/ti/wl1251/main.c | |||
@@ -500,6 +500,7 @@ static int wl1251_op_add_interface(struct ieee80211_hw *hw, | |||
500 | int ret = 0; | 500 | int ret = 0; |
501 | 501 | ||
502 | vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | | 502 | vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | |
503 | IEEE80211_VIF_SUPPORTS_UAPSD | | ||
503 | IEEE80211_VIF_SUPPORTS_CQM_RSSI; | 504 | IEEE80211_VIF_SUPPORTS_CQM_RSSI; |
504 | 505 | ||
505 | wl1251_debug(DEBUG_MAC80211, "mac80211 add interface type %d mac %pM", | 506 | wl1251_debug(DEBUG_MAC80211, "mac80211 add interface type %d mac %pM", |
@@ -1480,9 +1481,7 @@ int wl1251_init_ieee80211(struct wl1251 *wl) | |||
1480 | /* unit us */ | 1481 | /* unit us */ |
1481 | /* FIXME: find a proper value */ | 1482 | /* FIXME: find a proper value */ |
1482 | 1483 | ||
1483 | wl->hw->flags = IEEE80211_HW_SIGNAL_DBM | | 1484 | wl->hw->flags = IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_SUPPORTS_PS; |
1484 | IEEE80211_HW_SUPPORTS_PS | | ||
1485 | IEEE80211_HW_SUPPORTS_UAPSD; | ||
1486 | 1485 | ||
1487 | wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | | 1486 | wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | |
1488 | BIT(NL80211_IFTYPE_ADHOC); | 1487 | BIT(NL80211_IFTYPE_ADHOC); |
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index e90fb781a6a1..0a9d9a1b2d85 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c | |||
@@ -2552,6 +2552,7 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw, | |||
2552 | } | 2552 | } |
2553 | 2553 | ||
2554 | vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | | 2554 | vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | |
2555 | IEEE80211_VIF_SUPPORTS_UAPSD | | ||
2555 | IEEE80211_VIF_SUPPORTS_CQM_RSSI; | 2556 | IEEE80211_VIF_SUPPORTS_CQM_RSSI; |
2556 | 2557 | ||
2557 | wl1271_debug(DEBUG_MAC80211, "mac80211 add interface type %d mac %pM", | 2558 | wl1271_debug(DEBUG_MAC80211, "mac80211 add interface type %d mac %pM", |
@@ -5661,14 +5662,15 @@ static void wlcore_op_sta_rc_update(struct ieee80211_hw *hw, | |||
5661 | ieee80211_queue_work(hw, &wlvif->rc_update_work); | 5662 | ieee80211_queue_work(hw, &wlvif->rc_update_work); |
5662 | } | 5663 | } |
5663 | 5664 | ||
5664 | static int wlcore_op_get_rssi(struct ieee80211_hw *hw, | 5665 | static void wlcore_op_sta_statistics(struct ieee80211_hw *hw, |
5665 | struct ieee80211_vif *vif, | 5666 | struct ieee80211_vif *vif, |
5666 | struct ieee80211_sta *sta, | 5667 | struct ieee80211_sta *sta, |
5667 | s8 *rssi_dbm) | 5668 | struct station_info *sinfo) |
5668 | { | 5669 | { |
5669 | struct wl1271 *wl = hw->priv; | 5670 | struct wl1271 *wl = hw->priv; |
5670 | struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); | 5671 | struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); |
5671 | int ret = 0; | 5672 | s8 rssi_dbm; |
5673 | int ret; | ||
5672 | 5674 | ||
5673 | wl1271_debug(DEBUG_MAC80211, "mac80211 get_rssi"); | 5675 | wl1271_debug(DEBUG_MAC80211, "mac80211 get_rssi"); |
5674 | 5676 | ||
@@ -5681,17 +5683,18 @@ static int wlcore_op_get_rssi(struct ieee80211_hw *hw, | |||
5681 | if (ret < 0) | 5683 | if (ret < 0) |
5682 | goto out_sleep; | 5684 | goto out_sleep; |
5683 | 5685 | ||
5684 | ret = wlcore_acx_average_rssi(wl, wlvif, rssi_dbm); | 5686 | ret = wlcore_acx_average_rssi(wl, wlvif, &rssi_dbm); |
5685 | if (ret < 0) | 5687 | if (ret < 0) |
5686 | goto out_sleep; | 5688 | goto out_sleep; |
5687 | 5689 | ||
5690 | sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL); | ||
5691 | sinfo->signal = rssi_dbm; | ||
5692 | |||
5688 | out_sleep: | 5693 | out_sleep: |
5689 | wl1271_ps_elp_sleep(wl); | 5694 | wl1271_ps_elp_sleep(wl); |
5690 | 5695 | ||
5691 | out: | 5696 | out: |
5692 | mutex_unlock(&wl->mutex); | 5697 | mutex_unlock(&wl->mutex); |
5693 | |||
5694 | return ret; | ||
5695 | } | 5698 | } |
5696 | 5699 | ||
5697 | static bool wl1271_tx_frames_pending(struct ieee80211_hw *hw) | 5700 | static bool wl1271_tx_frames_pending(struct ieee80211_hw *hw) |
@@ -5893,7 +5896,7 @@ static const struct ieee80211_ops wl1271_ops = { | |||
5893 | .unassign_vif_chanctx = wlcore_op_unassign_vif_chanctx, | 5896 | .unassign_vif_chanctx = wlcore_op_unassign_vif_chanctx, |
5894 | .switch_vif_chanctx = wlcore_op_switch_vif_chanctx, | 5897 | .switch_vif_chanctx = wlcore_op_switch_vif_chanctx, |
5895 | .sta_rc_update = wlcore_op_sta_rc_update, | 5898 | .sta_rc_update = wlcore_op_sta_rc_update, |
5896 | .get_rssi = wlcore_op_get_rssi, | 5899 | .sta_statistics = wlcore_op_sta_statistics, |
5897 | CFG80211_TESTMODE_CMD(wl1271_tm_cmd) | 5900 | CFG80211_TESTMODE_CMD(wl1271_tm_cmd) |
5898 | }; | 5901 | }; |
5899 | 5902 | ||
@@ -6064,7 +6067,6 @@ static int wl1271_init_ieee80211(struct wl1271 *wl) | |||
6064 | wl->hw->flags = IEEE80211_HW_SIGNAL_DBM | | 6067 | wl->hw->flags = IEEE80211_HW_SIGNAL_DBM | |
6065 | IEEE80211_HW_SUPPORTS_PS | | 6068 | IEEE80211_HW_SUPPORTS_PS | |
6066 | IEEE80211_HW_SUPPORTS_DYNAMIC_PS | | 6069 | IEEE80211_HW_SUPPORTS_DYNAMIC_PS | |
6067 | IEEE80211_HW_SUPPORTS_UAPSD | | ||
6068 | IEEE80211_HW_HAS_RATE_CONTROL | | 6070 | IEEE80211_HW_HAS_RATE_CONTROL | |
6069 | IEEE80211_HW_CONNECTION_MONITOR | | 6071 | IEEE80211_HW_CONNECTION_MONITOR | |
6070 | IEEE80211_HW_REPORTS_TX_ACK_STATUS | | 6072 | IEEE80211_HW_REPORTS_TX_ACK_STATUS | |