Commit 880b583c authored by David S. Miller's avatar David S. Miller

Merge tag 'mac80211-for-davem-2016-10-27' of...

Merge tag 'mac80211-for-davem-2016-10-27' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211

Johannes Berg says:

====================
Just two fixes:
 * a fix to process all events while suspending, so any
   potential calls into the driver are done before it is
   suspended
 * small markup fixes for the sphinx documentation conversion
   that's coming into the tree via the doc tree
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 8d7533e5 b4f7f4ad
...@@ -811,14 +811,18 @@ enum mac80211_rate_control_flags { ...@@ -811,14 +811,18 @@ enum mac80211_rate_control_flags {
* in the control information, and it will be filled by the rate * in the control information, and it will be filled by the rate
* control algorithm according to what should be sent. For example, * control algorithm according to what should be sent. For example,
* if this array contains, in the format { <idx>, <count> } the * if this array contains, in the format { <idx>, <count> } the
* information * information::
*
* { 3, 2 }, { 2, 2 }, { 1, 4 }, { -1, 0 }, { -1, 0 } * { 3, 2 }, { 2, 2 }, { 1, 4 }, { -1, 0 }, { -1, 0 }
*
* then this means that the frame should be transmitted * then this means that the frame should be transmitted
* up to twice at rate 3, up to twice at rate 2, and up to four * up to twice at rate 3, up to twice at rate 2, and up to four
* times at rate 1 if it doesn't get acknowledged. Say it gets * times at rate 1 if it doesn't get acknowledged. Say it gets
* acknowledged by the peer after the fifth attempt, the status * acknowledged by the peer after the fifth attempt, the status
* information should then contain * information should then contain::
*
* { 3, 2 }, { 2, 2 }, { 1, 1 }, { -1, 0 } ... * { 3, 2 }, { 2, 2 }, { 1, 1 }, { -1, 0 } ...
*
* since it was transmitted twice at rate 3, twice at rate 2 * since it was transmitted twice at rate 3, twice at rate 2
* and once at rate 1 after which we received an acknowledgement. * and once at rate 1 after which we received an acknowledgement.
*/ */
...@@ -1168,8 +1172,8 @@ enum mac80211_rx_vht_flags { ...@@ -1168,8 +1172,8 @@ enum mac80211_rx_vht_flags {
* @rate_idx: index of data rate into band's supported rates or MCS index if * @rate_idx: index of data rate into band's supported rates or MCS index if
* HT or VHT is used (%RX_FLAG_HT/%RX_FLAG_VHT) * HT or VHT is used (%RX_FLAG_HT/%RX_FLAG_VHT)
* @vht_nss: number of streams (VHT only) * @vht_nss: number of streams (VHT only)
* @flag: %RX_FLAG_* * @flag: %RX_FLAG_\*
* @vht_flag: %RX_VHT_FLAG_* * @vht_flag: %RX_VHT_FLAG_\*
* @rx_flags: internal RX flags for mac80211 * @rx_flags: internal RX flags for mac80211
* @ampdu_reference: A-MPDU reference number, must be a different value for * @ampdu_reference: A-MPDU reference number, must be a different value for
* each A-MPDU but the same for each subframe within one A-MPDU * each A-MPDU but the same for each subframe within one A-MPDU
...@@ -1432,7 +1436,7 @@ enum ieee80211_vif_flags { ...@@ -1432,7 +1436,7 @@ enum ieee80211_vif_flags {
* @probe_req_reg: probe requests should be reported to mac80211 for this * @probe_req_reg: probe requests should be reported to mac80211 for this
* interface. * interface.
* @drv_priv: data area for driver use, will always be aligned to * @drv_priv: data area for driver use, will always be aligned to
* sizeof(void *). * sizeof(void \*).
* @txq: the multicast data TX queue (if driver uses the TXQ abstraction) * @txq: the multicast data TX queue (if driver uses the TXQ abstraction)
*/ */
struct ieee80211_vif { struct ieee80211_vif {
...@@ -1743,7 +1747,7 @@ struct ieee80211_sta_rates { ...@@ -1743,7 +1747,7 @@ struct ieee80211_sta_rates {
* @wme: indicates whether the STA supports QoS/WME (if local devices does, * @wme: indicates whether the STA supports QoS/WME (if local devices does,
* otherwise always false) * otherwise always false)
* @drv_priv: data area for driver use, will always be aligned to * @drv_priv: data area for driver use, will always be aligned to
* sizeof(void *), size is determined in hw information. * sizeof(void \*), size is determined in hw information.
* @uapsd_queues: bitmap of queues configured for uapsd. Only valid * @uapsd_queues: bitmap of queues configured for uapsd. Only valid
* if wme is supported. * if wme is supported.
* @max_sp: max Service Period. Only valid if wme is supported. * @max_sp: max Service Period. Only valid if wme is supported.
...@@ -2146,12 +2150,12 @@ enum ieee80211_hw_flags { ...@@ -2146,12 +2150,12 @@ enum ieee80211_hw_flags {
* *
* @radiotap_mcs_details: lists which MCS information can the HW * @radiotap_mcs_details: lists which MCS information can the HW
* reports, by default it is set to _MCS, _GI and _BW but doesn't * reports, by default it is set to _MCS, _GI and _BW but doesn't
* include _FMT. Use %IEEE80211_RADIOTAP_MCS_HAVE_* values, only * include _FMT. Use %IEEE80211_RADIOTAP_MCS_HAVE_\* values, only
* adding _BW is supported today. * adding _BW is supported today.
* *
* @radiotap_vht_details: lists which VHT MCS information the HW reports, * @radiotap_vht_details: lists which VHT MCS information the HW reports,
* the default is _GI | _BANDWIDTH. * the default is _GI | _BANDWIDTH.
* Use the %IEEE80211_RADIOTAP_VHT_KNOWN_* values. * Use the %IEEE80211_RADIOTAP_VHT_KNOWN_\* values.
* *
* @radiotap_timestamp: Information for the radiotap timestamp field; if the * @radiotap_timestamp: Information for the radiotap timestamp field; if the
* 'units_pos' member is set to a non-negative value it must be set to * 'units_pos' member is set to a non-negative value it must be set to
...@@ -2486,6 +2490,7 @@ void ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb); ...@@ -2486,6 +2490,7 @@ void ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb);
* in the software stack cares about, we will, in the future, have mac80211 * in the software stack cares about, we will, in the future, have mac80211
* tell the driver which information elements are interesting in the sense * tell the driver which information elements are interesting in the sense
* that we want to see changes in them. This will include * that we want to see changes in them. This will include
*
* - a list of information element IDs * - a list of information element IDs
* - a list of OUIs for the vendor information element * - a list of OUIs for the vendor information element
* *
......
...@@ -104,13 +104,16 @@ static int wiphy_suspend(struct device *dev) ...@@ -104,13 +104,16 @@ static int wiphy_suspend(struct device *dev)
rtnl_lock(); rtnl_lock();
if (rdev->wiphy.registered) { if (rdev->wiphy.registered) {
if (!rdev->wiphy.wowlan_config) if (!rdev->wiphy.wowlan_config) {
cfg80211_leave_all(rdev); cfg80211_leave_all(rdev);
cfg80211_process_rdev_events(rdev);
}
if (rdev->ops->suspend) if (rdev->ops->suspend)
ret = rdev_suspend(rdev, rdev->wiphy.wowlan_config); ret = rdev_suspend(rdev, rdev->wiphy.wowlan_config);
if (ret == 1) { if (ret == 1) {
/* Driver refuse to configure wowlan */ /* Driver refuse to configure wowlan */
cfg80211_leave_all(rdev); cfg80211_leave_all(rdev);
cfg80211_process_rdev_events(rdev);
ret = rdev_suspend(rdev, NULL); ret = rdev_suspend(rdev, NULL);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment