ethoc: limit the number of buffers to 128
Only 128 buffer descriptors are supported in the core. Limit the number in case we have more memory. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0baa080c75
commit
a4d63a9437
|
@ -662,8 +662,8 @@ static int ethoc_open(struct net_device *dev)
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
/* calculate the number of TX/RX buffers */
|
/* calculate the number of TX/RX buffers, maximum 128 supported */
|
||||||
num_bd = (dev->mem_end - dev->mem_start + 1) / ETHOC_BUFSIZ;
|
num_bd = min(128, (dev->mem_end - dev->mem_start + 1) / ETHOC_BUFSIZ);
|
||||||
priv->num_tx = max(min_tx, num_bd / 4);
|
priv->num_tx = max(min_tx, num_bd / 4);
|
||||||
priv->num_rx = num_bd - priv->num_tx;
|
priv->num_rx = num_bd - priv->num_tx;
|
||||||
ethoc_write(priv, TX_BD_NUM, priv->num_tx);
|
ethoc_write(priv, TX_BD_NUM, priv->num_tx);
|
||||||
|
|
Loading…
Reference in New Issue