2012-10-03 17:54:17

by Laxman Dewangan

[permalink] [raw]
Subject: [PATCH] dma: tegra: fix interrupt name issue with apb dma.

When watching the interrupts through /proc/interrupts,
the name of the interrupts are blank or garbage. The
reason is the pointer passed for devname during irq
registration is stack and so it get changed after
dma registration completes.
Allocate the pointer as part of dma channel and pass
this pointer as the devname for irq registration to
avoid change of name.

Signed-off-by: Laxman Dewangan <[email protected]>
---
Resending as mail was not delivered to [email protected].

drivers/dma/tegra20-apb-dma.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
index 24a6512..528c62d 100644
--- a/drivers/dma/tegra20-apb-dma.c
+++ b/drivers/dma/tegra20-apb-dma.c
@@ -169,6 +169,7 @@ typedef void (*dma_isr_handler)(struct tegra_dma_channel *tdc,
/* tegra_dma_channel: Channel specific information */
struct tegra_dma_channel {
struct dma_chan dma_chan;
+ char name[30];
bool config_init;
int id;
int irq;
@@ -1282,7 +1283,6 @@ static int __devinit tegra_dma_probe(struct platform_device *pdev)
INIT_LIST_HEAD(&tdma->dma_dev.channels);
for (i = 0; i < cdata->nr_channels; i++) {
struct tegra_dma_channel *tdc = &tdma->channels[i];
- char irq_name[30];

tdc->chan_base_offset = TEGRA_APBDMA_CHANNEL_BASE_ADD_OFFSET +
i * TEGRA_APBDMA_CHANNEL_REGISTER_SIZE;
@@ -1294,9 +1294,9 @@ static int __devinit tegra_dma_probe(struct platform_device *pdev)
goto err_irq;
}
tdc->irq = res->start;
- snprintf(irq_name, sizeof(irq_name), "apbdma.%d", i);
+ snprintf(tdc->name, sizeof(tdc->name), "apbdma.%d", i);
ret = devm_request_irq(&pdev->dev, tdc->irq,
- tegra_dma_isr, 0, irq_name, tdc);
+ tegra_dma_isr, 0, tdc->name, tdc);
if (ret) {
dev_err(&pdev->dev,
"request_irq failed with err %d channel %d\n",
--
1.7.1.1


2012-10-03 20:53:49

by Stephen Warren

[permalink] [raw]
Subject: Re: [PATCH] dma: tegra: fix interrupt name issue with apb dma.

On 10/03/2012 11:21 AM, Laxman Dewangan wrote:
> When watching the interrupts through /proc/interrupts,
> the name of the interrupts are blank or garbage. The
> reason is the pointer passed for devname during irq
> registration is stack and so it get changed after
> dma registration completes.
> Allocate the pointer as part of dma channel and pass
> this pointer as the devname for irq registration to
> avoid change of name.

(Dropping stable Cc; Olof/Arnd or Vinod, is it possible you could add
that into the patch description when applying this?)

Reported-by: Stephen Warren <[email protected]>
Acked-by: Stephen Warren <[email protected]>

2012-10-04 08:16:51

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] dma: tegra: fix interrupt name issue with apb dma.

On Wednesday 03 October 2012, Stephen Warren wrote:
> On 10/03/2012 11:21 AM, Laxman Dewangan wrote:
> > When watching the interrupts through /proc/interrupts,
> > the name of the interrupts are blank or garbage. The
> > reason is the pointer passed for devname during irq
> > registration is stack and so it get changed after
> > dma registration completes.
> > Allocate the pointer as part of dma channel and pass
> > this pointer as the devname for irq registration to
> > avoid change of name.
>
> (Dropping stable Cc; Olof/Arnd or Vinod, is it possible you could add
> that into the patch description when applying this?)
>
> Reported-by: Stephen Warren <[email protected]>
> Acked-by: Stephen Warren <[email protected]>

Should be no problem. If Vinod wants to pick it up:

Acked-by: Arnd Bergmann <[email protected]>

Note that you can configure git send-email to automatically drop
Cc's to [email protected], and that the correct address
is the one with vger in it, not just [email protected].

2012-10-04 08:26:38

by Vinod Koul

[permalink] [raw]
Subject: RE: [PATCH] dma: tegra: fix interrupt name issue with apb dma.

> >
> > (Dropping stable Cc; Olof/Arnd or Vinod, is it possible you could add
> > that into the patch description when applying this?)
> >
> > Reported-by: Stephen Warren <[email protected]>
> > Acked-by: Stephen Warren <[email protected]>
>
> Should be no problem. If Vinod wants to pick it up:
>
> Acked-by: Arnd Bergmann <[email protected]>
Will do it later today... am travelling so slow on email :(

--
~Vinod

2012-10-04 15:31:09

by Vinod Koul

[permalink] [raw]
Subject: RE: [PATCH] dma: tegra: fix interrupt name issue with apb dma.

On Thu, 2012-10-04 at 08:26 +0000, Koul, Vinod wrote:
> > >
> > > (Dropping stable Cc; Olof/Arnd or Vinod, is it possible you could add
> > > that into the patch description when applying this?)
> > >
> > > Reported-by: Stephen Warren <[email protected]>
> > > Acked-by: Stephen Warren <[email protected]>
> >
> > Should be no problem. If Vinod wants to pick it up:
> >
> > Acked-by: Arnd Bergmann <[email protected]>
> Will do it later today... am travelling so slow on email :(
Done, applied ith Stephen's credits :) Thanks


--
~Vinod