From: Thomas Chou Date: Tue, 6 Oct 2009 03:25:25 +0000 (+0000) Subject: ethoc: limit the number of buffers to 128 X-Git-Tag: firefly_0821_release~11864^2~171 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=a4d63a943735efa30270ce70716d43323fd40f02;p=firefly-linux-kernel-4.4.55.git 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 Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c index 6d82dc646ac0..34d0c69e67f7 100644 --- a/drivers/net/ethoc.c +++ b/drivers/net/ethoc.c @@ -662,8 +662,8 @@ static int ethoc_open(struct net_device *dev) if (ret) return ret; - /* calculate the number of TX/RX buffers */ - num_bd = (dev->mem_end - dev->mem_start + 1) / ETHOC_BUFSIZ; + /* calculate the number of TX/RX buffers, maximum 128 supported */ + num_bd = min(128, (dev->mem_end - dev->mem_start + 1) / ETHOC_BUFSIZ); priv->num_tx = max(min_tx, num_bd / 4); priv->num_rx = num_bd - priv->num_tx; ethoc_write(priv, TX_BD_NUM, priv->num_tx);