aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti
diff options
context:
space:
mode:
authorKalle Valo <kvalo@codeaurora.org>2015-01-22 07:49:44 -0500
committerKalle Valo <kvalo@codeaurora.org>2015-01-22 07:49:44 -0500
commit6b03e32d575917d048875a182bd2dd8924036000 (patch)
tree634b311d02423f2c1138e06be53d1842902bc28b /drivers/net/wireless/ti
parentbc48a51c2a29e231256c2f96daf80c2b7a45f390 (diff)
parentc1e140bf79d817d4a7aa9932eb98b0359c87af33 (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.c5
-rw-r--r--drivers/net/wireless/ti/wlcore/main.c22
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
5664static int wlcore_op_get_rssi(struct ieee80211_hw *hw, 5665static 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
5688out_sleep: 5693out_sleep:
5689 wl1271_ps_elp_sleep(wl); 5694 wl1271_ps_elp_sleep(wl);
5690 5695
5691out: 5696out:
5692 mutex_unlock(&wl->mutex); 5697 mutex_unlock(&wl->mutex);
5693
5694 return ret;
5695} 5698}
5696 5699
5697static bool wl1271_tx_frames_pending(struct ieee80211_hw *hw) 5700static 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 |