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

Commit d87bac1b authored by Vladimir Kondratiev's avatar Vladimir Kondratiev Committed by John W. Linville
Browse files

wil6210: limit MTU



Obey 802.11 spec that defines max. data size 7920 bytes

Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 60ccc107
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -32,12 +32,26 @@ static int wil_stop(struct net_device *ndev)
	return wil_down(wil);
}

static int wil_change_mtu(struct net_device *ndev, int new_mtu)
{
	struct wil6210_priv *wil = ndev_to_wil(ndev);

	if (new_mtu < 68 || new_mtu > IEEE80211_MAX_DATA_LEN_DMG)
		return -EINVAL;

	wil_dbg_misc(wil, "change MTU %d -> %d\n", ndev->mtu, new_mtu);
	ndev->mtu = new_mtu;

	return 0;
}

static const struct net_device_ops wil_netdev_ops = {
	.ndo_open		= wil_open,
	.ndo_stop		= wil_stop,
	.ndo_start_xmit		= wil_start_xmit,
	.ndo_set_mac_address	= eth_mac_addr,
	.ndo_validate_addr	= eth_validate_addr,
	.ndo_change_mtu		= wil_change_mtu,
};

static int wil6210_netdev_poll_rx(struct napi_struct *napi, int budget)