|
From: Manuel L. <ml...@us...> - 2006-08-04 20:04:28
|
Update of /cvsroot/linuxsh/linux/arch/sh/drivers/dma In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv3314/arch/sh/drivers/dma Modified Files: dma-sh.c Log Message: Fix /proc/interrupts displaying random kernel memory for SH DMAC channels Index: dma-sh.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/drivers/dma/dma-sh.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- dma-sh.c 5 Feb 2006 15:25:52 -0000 1.15 +++ dma-sh.c 4 Aug 2006 20:04:22 -0000 1.16 @@ -81,12 +81,13 @@ static int sh_dmac_request_dma(struct dma_channel *chan) { - char name[32]; - if (unlikely(!chan->flags & DMA_TEI_CAPABLE)) return 0; - snprintf(name, sizeof(name), "DMAC Transfer End (Channel %d)", + chan->name = kzalloc(32, GFP_KERNEL); + if (unlikely(chan->name == NULL)) + return -ENOMEM; + snprintf(chan->name, 32, "DMAC Transfer End (Channel %d)", chan->chan); return request_irq(get_dmte_irq(chan->chan), dma_tei, @@ -96,6 +97,7 @@ static void sh_dmac_free_dma(struct dma_channel *chan) { free_irq(get_dmte_irq(chan->chan), chan); + kfree(chan->name); } static void |