@@ -176,33 +184,10 @@ static void quirk_ad1815_mpu_resources(s
if (!irq || irq->next)
return;
- res = dev->dependent;
- if (!res)
- return;
-
- while (1) {
- struct pnp_irq *copy;
-
- copy = pnp_alloc(sizeof *copy);
- if (!copy)
- break;
-
- bitmap_copy(copy->map.bits, irq->map.bits, PNP_IRQ_NR);
- copy->flags = irq->flags;
-
- copy->next = res->irq; /* Yes, this is NULL */
- res->irq = copy;
-
- if (!res->next)
- break;
- res = res->next;
- }
- kfree(irq);
+ irq->flags |= IORESOURCE_IRQ_OPTIONAL;
+ dev_info(&dev->dev, "made independent IRQ optional\n");
res->next = quirk_isapnp_mpu_options(dev);
... this line should just go.
You mean I should delete the "res->next = quirk_isapnp_mpu_options(dev)"
line?
Previously "res" ended up as the last dependent set through the while loop but now it's the independendent set which in this previous setup of things shouldn't even have a ->next. Just deleting this line makes this patch fine and
Acked-by: Rene Herman <rene.herman@xxxxxxxxx>
OK. This will mean replacing patches 15 and 18 in this series. If
I repost those two, is that easy for you to deal with, Andrew?
If I replace these, I'll also update patch 18 to fix the
pnp_independent_option() comment Rene made.