diff options
Diffstat (limited to 'drivers/pnp/manager.c')
-rw-r--r-- | drivers/pnp/manager.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pnp/manager.c b/drivers/pnp/manager.c index 7ea9e1e28003..a20accb5ef8f 100644 --- a/drivers/pnp/manager.c +++ b/drivers/pnp/manager.c | |||
@@ -153,6 +153,15 @@ static int pnp_assign_irq(struct pnp_dev *dev, struct pnp_irq *rule, int idx) | |||
153 | goto __add; | 153 | goto __add; |
154 | } | 154 | } |
155 | } | 155 | } |
156 | |||
157 | if (rule->flags & IORESOURCE_IRQ_OPTIONAL) { | ||
158 | res->start = -1; | ||
159 | res->end = -1; | ||
160 | res->flags |= IORESOURCE_DISABLED; | ||
161 | dev_dbg(&dev->dev, " irq %d disabled (optional)\n", idx); | ||
162 | goto __add; | ||
163 | } | ||
164 | |||
156 | dev_dbg(&dev->dev, " couldn't assign irq %d\n", idx); | 165 | dev_dbg(&dev->dev, " couldn't assign irq %d\n", idx); |
157 | return -EBUSY; | 166 | return -EBUSY; |
158 | 167 | ||