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>