diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-11-26 20:54:48 +0100 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-12-01 22:32:29 +0100 |
commit | 29816d9aa55c99d463bd5507a46535b5fe79c33a (patch) | |
tree | 0a76ac1b18417d819eaa16066104876c16ef8545 /drivers/net/skge.c | |
parent | ctc: make use of alloc_netdev() (diff) | |
download | linux-29816d9aa55c99d463bd5507a46535b5fe79c33a.tar.xz linux-29816d9aa55c99d463bd5507a46535b5fe79c33a.zip |
skge: FIFO Ram calculation error
The calculation of usable FIFO RAM is wrong in the skge driver.
First, is doesn't take into account the reserved area on the original
SysKonnect Genesis boards. Second it has an off-by-one error because
hw->ports is either 1 or 2.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/skge.c')
-rw-r--r-- | drivers/net/skge.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index 6d62250fba07..14f06aea9ca0 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c @@ -2619,8 +2619,8 @@ static int skge_up(struct net_device *dev) yukon_mac_init(hw, port); spin_unlock_bh(&hw->phy_lock); - /* Configure RAMbuffers */ - chunk = hw->ram_size / ((hw->ports + 1)*2); + /* Configure RAMbuffers - equally between ports and tx/rx */ + chunk = (hw->ram_size - hw->ram_offset) / (hw->ports * 2); ram_addr = hw->ram_offset + 2 * chunk * port; skge_ramset(hw, rxqaddr[port], ram_addr, chunk); |