diff options
author | Thomas Chou <thomas@wytron.com.tw> | 2009-10-05 23:25:25 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-07 06:50:15 -0400 |
commit | a4d63a943735efa30270ce70716d43323fd40f02 (patch) | |
tree | e5b65612eca59bc83ae31c02c4ddf09b0c7e6cc2 | |
parent | 0baa080c75cea6357bfba9b93ba598d747457cbd (diff) |
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>
-rw-r--r-- | drivers/net/ethoc.c | 4 |
1 files changed, 2 insertions, 2 deletions
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) | |||
662 | if (ret) | 662 | if (ret) |
663 | return ret; | 663 | return ret; |
664 | 664 | ||
665 | /* calculate the number of TX/RX buffers */ | 665 | /* calculate the number of TX/RX buffers, maximum 128 supported */ |
666 | num_bd = (dev->mem_end - dev->mem_start + 1) / ETHOC_BUFSIZ; | 666 | num_bd = min(128, (dev->mem_end - dev->mem_start + 1) / ETHOC_BUFSIZ); |
667 | priv->num_tx = max(min_tx, num_bd / 4); | 667 | priv->num_tx = max(min_tx, num_bd / 4); |
668 | priv->num_rx = num_bd - priv->num_tx; | 668 | priv->num_rx = num_bd - priv->num_tx; |
669 | ethoc_write(priv, TX_BD_NUM, priv->num_tx); | 669 | ethoc_write(priv, TX_BD_NUM, priv->num_tx); |