From: Stephen Hemminger Date: Mon, 26 Nov 2007 19:54:48 +0000 (-0800) Subject: skge: FIFO Ram calculation error X-Git-Tag: v2.6.24-rc4~9^2~22 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=29816d9aa55c99d463bd5507a46535b5fe79c33a;p=~emulex%2Finfiniband.git 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 --- diff --git a/drivers/net/skge.c b/drivers/net/skge.c index 6d62250fba0..14f06aea9ca 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);