[PATCHv2] isdn: reduce stack size of mISDN_dsp
Frank Seidel <[email protected]> Sun, 01 Mar 2009 18:10:24 +0100
| Newsgroups | gmane.linux.isdn,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Frank Seidel <[email protected]> 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 <[email protected]> --- 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); } /* -- To unsubscribe from this list: send the line "unsubscribe linux-isdn" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html