mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 14:24:11 +08:00
net: stmmac: fix maxmtu assignment to be within valid range
There is no checking valid value of maxmtu when getting it from device tree. This resolution added the checking condition to ensure the assignment is made within a valid range. Signed-off-by: Kweh, Hock Leong <hock.leong.kweh@intel.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9d5ecb09d5
commit
a2cd64f301
@ -3319,8 +3319,16 @@ int stmmac_dvr_probe(struct device *device,
|
||||
ndev->max_mtu = JUMBO_LEN;
|
||||
else
|
||||
ndev->max_mtu = SKB_MAX_HEAD(NET_SKB_PAD + NET_IP_ALIGN);
|
||||
if (priv->plat->maxmtu < ndev->max_mtu)
|
||||
/* Will not overwrite ndev->max_mtu if plat->maxmtu > ndev->max_mtu
|
||||
* as well as plat->maxmtu < ndev->min_mtu which is a invalid range.
|
||||
*/
|
||||
if ((priv->plat->maxmtu < ndev->max_mtu) &&
|
||||
(priv->plat->maxmtu >= ndev->min_mtu))
|
||||
ndev->max_mtu = priv->plat->maxmtu;
|
||||
else if (priv->plat->maxmtu < ndev->min_mtu)
|
||||
netdev_warn(priv->dev,
|
||||
"%s: warning: maxmtu having invalid value (%d)\n",
|
||||
__func__, priv->plat->maxmtu);
|
||||
|
||||
if (flow_ctrl)
|
||||
priv->flow_ctrl = FLOW_AUTO; /* RX/TX pause on */
|
||||
|
@ -89,6 +89,9 @@ static void stmmac_default_data(struct plat_stmmacenet_data *plat)
|
||||
|
||||
/* Set default value for unicast filter entries */
|
||||
plat->unicast_filter_entries = 1;
|
||||
|
||||
/* Set the maxmtu to a default of JUMBO_LEN */
|
||||
plat->maxmtu = JUMBO_LEN;
|
||||
}
|
||||
|
||||
static int quark_default_data(struct plat_stmmacenet_data *plat,
|
||||
@ -126,6 +129,9 @@ static int quark_default_data(struct plat_stmmacenet_data *plat,
|
||||
/* Set default value for unicast filter entries */
|
||||
plat->unicast_filter_entries = 1;
|
||||
|
||||
/* Set the maxmtu to a default of JUMBO_LEN */
|
||||
plat->maxmtu = JUMBO_LEN;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user