Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09b1426e authored by Chaitanya's avatar Chaitanya Committed by Johannes Berg
Browse files

mac80211: fix maximum MTU



The maximum MTU shouldn't take the headers into account,
the maximum MSDU size is exactly the maximum MTU.

Signed-off-by: default avatarT Krishna Chaitanya <chaitanyatk@posedge.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 826262c3
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -207,17 +207,8 @@ void ieee80211_recalc_idle(struct ieee80211_local *local)

static int ieee80211_change_mtu(struct net_device *dev, int new_mtu)
{
	int meshhdrlen;
	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);

	meshhdrlen = (sdata->vif.type == NL80211_IFTYPE_MESH_POINT) ? 5 : 0;

	/* FIX: what would be proper limits for MTU?
	 * This interface uses 802.3 frames. */
	if (new_mtu < 256 ||
	    new_mtu > IEEE80211_MAX_DATA_LEN - 24 - 6 - meshhdrlen) {
	if (new_mtu < 256 || new_mtu > IEEE80211_MAX_DATA_LEN)
		return -EINVAL;
	}

	dev->mtu = new_mtu;
	return 0;