diff options
author | Mike Frysinger <vapier@gentoo.org> | 2012-08-04 21:54:05 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2012-08-09 00:11:11 -0400 |
commit | 800fb3ddee2c50918d651fbd70515f1e38857305 (patch) | |
tree | f3d1cbadb92bb9bb04532e45b88e2c90e23c100f /arch/sh/drivers | |
parent | f4ba394c1b02e7fc2179fda8d3941a5b3b65efb6 (diff) |
sh: dma: fix request_irq usage
When calling request_irq with IRQF_SHARED, the dev cookie must be set
(i.e. non-NULL), otherwise the code rejects it immediately with -EINVAL.
So restore the logic here where we'd pass a pointer to the name as a
dummy unique val.
Otherwise, booting up on my LANDISK system would fail with:
DMAC Address Error0 request_irq fail
This was introduced in commit 7f47c7189b3e8f19a589f77a3ad169d7b691b582.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/drivers')
-rw-r--r-- | arch/sh/drivers/dma/dma-sh.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c index 4c171f13b0e8..b22565623142 100644 --- a/arch/sh/drivers/dma/dma-sh.c +++ b/arch/sh/drivers/dma/dma-sh.c | |||
@@ -335,7 +335,7 @@ static int dmae_irq_init(void) | |||
335 | 335 | ||
336 | for (n = 0; n < NR_DMAE; n++) { | 336 | for (n = 0; n < NR_DMAE; n++) { |
337 | int i = request_irq(get_dma_error_irq(n), dma_err, | 337 | int i = request_irq(get_dma_error_irq(n), dma_err, |
338 | IRQF_SHARED, dmae_name[n], NULL); | 338 | IRQF_SHARED, dmae_name[n], (void *)dmae_name[n]); |
339 | if (unlikely(i < 0)) { | 339 | if (unlikely(i < 0)) { |
340 | printk(KERN_ERR "%s request_irq fail\n", dmae_name[n]); | 340 | printk(KERN_ERR "%s request_irq fail\n", dmae_name[n]); |
341 | return i; | 341 | return i; |