forked from Minki/linux
[ALSA] aoa: feature gpio layer: fix IRQ access
The IRQ rework caused some hiccups here, in some cases we call get_irq without a device node. This patch makes it catch that case and return NO_IRQ when it happens, along with changing the place where the irq is checked to check for NO_IRQ instead of -1. Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
parent
59feddb25f
commit
2566d36ab4
@ -112,7 +112,10 @@ static struct device_node *get_gpio(char *name,
|
||||
|
||||
static void get_irq(struct device_node * np, int *irqptr)
|
||||
{
|
||||
*irqptr = irq_of_parse_and_map(np, 0);
|
||||
if (np)
|
||||
*irqptr = irq_of_parse_and_map(np, 0);
|
||||
else
|
||||
*irqptr = NO_IRQ;
|
||||
}
|
||||
|
||||
/* 0x4 is outenable, 0x1 is out, thus 4 or 5 */
|
||||
@ -322,7 +325,7 @@ static int ftr_set_notify(struct gpio_runtime *rt,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (irq == -1)
|
||||
if (irq == NO_IRQ)
|
||||
return -ENODEV;
|
||||
|
||||
mutex_lock(¬if->mutex);
|
||||
|
Loading…
Reference in New Issue
Block a user