linux-tegra.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dma: tegra: fix interrupt name issue with apb dma.
@ 2012-10-03 17:18 Laxman Dewangan
  2012-10-03 18:17 ` Greg KH
  0 siblings, 1 reply; 7+ messages in thread
From: Laxman Dewangan @ 2012-10-03 17:18 UTC (permalink / raw)
  To: arm-u79uwXL29TY76Z2rM5mHXA, djbw-b10kYP2dOMg,
	vinod.koul-ral2JQCrhuEAvxtiuMwx3w
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, stable-u79uwXL29TY76Z2rM5mHXA,
	Laxman Dewangan

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 <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH] dma: tegra: fix interrupt name issue with apb dma.
@ 2012-10-03 17:21 Laxman Dewangan
       [not found] ` <1349284913-22350-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Laxman Dewangan @ 2012-10-03 17:21 UTC (permalink / raw)
  To: arm, djbw, vinod.koul; +Cc: linux-kernel, linux-tegra, stable, Laxman Dewangan

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 <ldewangan@nvidia.com>
---
Resending as mail was not delivered to arm@kernel.org.

 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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] dma: tegra: fix interrupt name issue with apb dma.
  2012-10-03 17:18 [PATCH] dma: tegra: fix interrupt name issue with apb dma Laxman Dewangan
@ 2012-10-03 18:17 ` Greg KH
  0 siblings, 0 replies; 7+ messages in thread
From: Greg KH @ 2012-10-03 18:17 UTC (permalink / raw)
  To: Laxman Dewangan; +Cc: arm, djbw, vinod.koul, linux-kernel, linux-tegra, stable

On Wed, Oct 03, 2012 at 10:48:07PM +0530, 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.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
>  drivers/dma/tegra20-apb-dma.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] dma: tegra: fix interrupt name issue with apb dma.
       [not found] ` <1349284913-22350-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
@ 2012-10-03 20:53   ` Stephen Warren
       [not found]     ` <506CA5D8.1050201-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Warren @ 2012-10-03 20:53 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: arm-DgEjT+Ai2ygdnm+yROfE0A, djbw-b10kYP2dOMg,
	vinod.koul-ral2JQCrhuEAvxtiuMwx3w,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

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 <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] dma: tegra: fix interrupt name issue with apb dma.
       [not found]     ` <506CA5D8.1050201-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2012-10-04  8:16       ` Arnd Bergmann
  2012-10-04  8:26         ` Koul, Vinod
  0 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2012-10-04  8:16 UTC (permalink / raw)
  To: Stephen Warren
  Cc: Laxman Dewangan, arm-DgEjT+Ai2ygdnm+yROfE0A, djbw-b10kYP2dOMg,
	vinod.koul-ral2JQCrhuEAvxtiuMwx3w,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

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 <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

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

Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>

Note that you can configure git send-email to automatically drop
Cc's to stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, and that the correct address
is the one with vger in it, not just stable-DgEjT+Ai2yi4UlQgPVntAg@public.gmane.org

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] dma: tegra: fix interrupt name issue with apb dma.
  2012-10-04  8:16       ` Arnd Bergmann
@ 2012-10-04  8:26         ` Koul, Vinod
       [not found]           ` <8D3F6266AEB6384E807C6FFC6FE195E30181BBF0-yHIBzpp8AekElmVAvsQTrbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Koul, Vinod @ 2012-10-04  8:26 UTC (permalink / raw)
  To: Arnd Bergmann, Stephen Warren
  Cc: Laxman Dewangan, arm@kernel.org, djbw@fb.com,
	linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org

> >
> > (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 <swarren@nvidia.com>
> > Acked-by: Stephen Warren <swarren@nvidia.com>
> 
> Should be no problem. If Vinod wants to pick it up:
> 
> Acked-by: Arnd Bergmann <arnd@arndb.de>
Will do it later today... am travelling so slow on email :(

--
~Vinod

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] dma: tegra: fix interrupt name issue with apb dma.
       [not found]           ` <8D3F6266AEB6384E807C6FFC6FE195E30181BBF0-yHIBzpp8AekElmVAvsQTrbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2012-10-04 15:23             ` Vinod Koul
  0 siblings, 0 replies; 7+ messages in thread
From: Vinod Koul @ 2012-10-04 15:23 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Stephen Warren, Laxman Dewangan,
	arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	djbw-b10kYP2dOMg@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

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 <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > > Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > 
> > Should be no problem. If Vinod wants to pick it up:
> > 
> > Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
> Will do it later today... am travelling so slow on email :(
Done, applied ith Stephen's credits :) Thanks


-- 
~Vinod

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-10-04 15:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-03 17:18 [PATCH] dma: tegra: fix interrupt name issue with apb dma Laxman Dewangan
2012-10-03 18:17 ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2012-10-03 17:21 Laxman Dewangan
     [not found] ` <1349284913-22350-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-10-03 20:53   ` Stephen Warren
     [not found]     ` <506CA5D8.1050201-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-04  8:16       ` Arnd Bergmann
2012-10-04  8:26         ` Koul, Vinod
     [not found]           ` <8D3F6266AEB6384E807C6FFC6FE195E30181BBF0-yHIBzpp8AekElmVAvsQTrbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2012-10-04 15:23             ` Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).