Messages in this thread Patch in this message |  | | Date | Sun, 01 Mar 2009 18:10:24 +0100 | | From | Frank Seidel <> | | Subject | [PATCHv2] isdn: reduce stack size of mISDN_dsp |
| |
From: Frank Seidel <frank@f-seidel.de>
Reduce stack size memory footprint of mISDN_dsp. (From 1468 bytes for dsp_cmx_send on i386 down to 44).
Signed-off-by: Frank Seidel <frank@f-seidel.de> --- drivers/isdn/mISDN/dsp_cmx.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
--- a/drivers/isdn/mISDN/dsp_cmx.c +++ b/drivers/isdn/mISDN/dsp_cmx.c @@ -1592,13 +1592,21 @@ dsp_cmx_send(void *arg) struct dsp_conf_member *member; struct dsp *dsp; int mustmix, members; - s32 mixbuffer[MAX_POLL+100], *c; + s32 *mixbuffer; + s32 *c; u8 *p, *q; int r, rr; int jittercheck = 0, delay, i; u_long flags; u16 length, count; + mixbuffer = kmalloc(sizeof(*mixbuffer) * (MAX_POLL + 100), GFP_KERNEL); + if (!mixbuffer) { + printk(KERN_ERR "mISDN_dsp: cannot allocate buffer(%s)\n", + __func__); + return; + } + /* lock */ spin_lock_irqsave(&dsp_lock, flags); @@ -1811,6 +1819,8 @@ dsp_cmx_send(void *arg) /* unlock */ spin_unlock_irqrestore(&dsp_lock, flags); + + kfree(mixbuffer); } /*
|  |