summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-11-26 19:54:48 (GMT)
committerJeff Garzik <jeff@garzik.org>2007-12-01 21:32:29 (GMT)
commit29816d9aa55c99d463bd5507a46535b5fe79c33a (patch)
tree0a76ac1b18417d819eaa16066104876c16ef8545
parent1c1478859017452a1179dbbdf7b9eb5b48438746 (diff)
downloadlinux-fsl-qoriq-29816d9aa55c99d463bd5507a46535b5fe79c33a.tar.xz
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>
-rw-r--r--drivers/net/skge.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 6d62250..14f06ae 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);