From 29816d9aa55c99d463bd5507a46535b5fe79c33a Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 26 Nov 2007 11:54:48 -0800 Subject: [PATCH] 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 Signed-off-by: Jeff Garzik --- drivers/net/skge.c | 4 ++-- 1 file 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); -- 2.39.5