mirror of https://gitee.com/openkylin/linux.git
mac80211: allow drivers to set max MTU
Make it possibly for drivers to adjust the default max_mtu by storing it in the hardware struct and using that value for all interfaces. Signed-off-by: Wen Gong <wgong@codeaurora.org> Link: https://lore.kernel.org/r/1567738137-31748-1-git-send-email-wgong@codeaurora.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
24f6d765c8
commit
06354665f9
|
@ -2463,6 +2463,8 @@ enum ieee80211_hw_flags {
|
|||
*
|
||||
* @weight_multiplier: Driver specific airtime weight multiplier used while
|
||||
* refilling deficit of each TXQ.
|
||||
*
|
||||
* @max_mtu: the max mtu could be set.
|
||||
*/
|
||||
struct ieee80211_hw {
|
||||
struct ieee80211_conf conf;
|
||||
|
@ -2500,6 +2502,7 @@ struct ieee80211_hw {
|
|||
u8 max_nan_de_entries;
|
||||
u8 tx_sk_pacing_shift;
|
||||
u8 weight_multiplier;
|
||||
u32 max_mtu;
|
||||
};
|
||||
|
||||
static inline bool _ieee80211_hw_check(struct ieee80211_hw *hw,
|
||||
|
|
|
@ -1876,7 +1876,7 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name,
|
|||
|
||||
/* MTU range: 256 - 2304 */
|
||||
ndev->min_mtu = 256;
|
||||
ndev->max_mtu = IEEE80211_MAX_DATA_LEN;
|
||||
ndev->max_mtu = local->hw.max_mtu;
|
||||
|
||||
ret = register_netdevice(ndev);
|
||||
if (ret) {
|
||||
|
|
|
@ -639,6 +639,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
|
|||
IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH;
|
||||
local->hw.uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES;
|
||||
local->hw.uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
|
||||
local->hw.max_mtu = IEEE80211_MAX_DATA_LEN;
|
||||
local->user_power_level = IEEE80211_UNSET_POWER_LEVEL;
|
||||
wiphy->ht_capa_mod_mask = &mac80211_ht_capa_mod_mask;
|
||||
wiphy->vht_capa_mod_mask = &mac80211_vht_capa_mod_mask;
|
||||
|
|
Loading…
Reference in New Issue