netdev
[Top] [All Lists]

Re: [PATCH 1/6] bnx2: Fix excessive stack usage

To: Michael Chan <mchan@xxxxxxxxxxxx>
Subject: Re: [PATCH 1/6] bnx2: Fix excessive stack usage
From: Jeff Garzik <jgarzik@xxxxxxxxx>
Date: Mon, 23 May 2005 21:42:59 -0400
Cc: davem@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <1116894307.4908.28.camel@rh4>
References: <1116892439.4908.1.camel@rh4> <1116894307.4908.28.camel@rh4>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050328 Fedora/1.7.6-1.2.5
Michael Chan wrote:
diff -Nru 10/drivers/net/bnx2.c 11/drivers/net/bnx2.c
--- 10/drivers/net/bnx2.c 2005-05-23 10:20:02.000000000 -0700
+++ 11/drivers/net/bnx2.c 2005-05-23 10:20:20.000000000 -0700
@@ -1138,13 +1138,20 @@
}
}
-static void
+static int
bnx2_alloc_bad_rbuf(struct bnx2 *bp)
{
- u16 good_mbuf[512];
+ u16 *good_mbuf;
u32 good_mbuf_cnt;
u32 val;
+ good_mbuf = kmalloc(512 * sizeof(u16), GFP_KERNEL);
+ if (good_mbuf == NULL) {
+ printk(KERN_ERR PFX "Failed to allocate memory in "
+ "bnx2_alloc_bad_rbuf\n");
+ return -ENOMEM;
+ }
+
REG_WR(bp, BNX2_MISC_ENABLE_SET_BITS,
BNX2_MISC_ENABLE_SET_BITS_RX_MBUF_ENABLE);
@@ -1178,6 +1185,7 @@
REG_WR_IND(bp, BNX2_RBUF_FW_BUF_FREE, val);
}
+ return 0;
}
static void

memleak -- you need to free good_mbuf.

        Jeff



<Prev in Thread] Current Thread [Next in Thread>