On Mon, 13 Feb 2017, Thomas Gleixner wrote: > On Mon, 13 Feb 2017, Linus Torvalds wrote: > > > On Mon, Feb 13, 2017 at 12:43 PM, Borislav Petkov <bp@xxxxxxxxx> wrote: > > > > > > FWIW, it really looks like something's tickling this in Gabriel's > > > .config. > > > > > > [ 8.652522] genirq: Flags mismatch irq 4. 00000000 (serial) vs. 00000080 (goldfish_pdev_bus) > > > > How the hell is that "goldfish_pdev_bus" thing there at all? > > > > And I'm not talking about the driver being enabled, I'm talking about > > the bus probe finding such a device in the first place? > > > > That thing is supposed to only trigger on virtual hardware in QEMU. > > But it must have actually probed successfully in order to have an > > interrupt. How is that thing supposed to match anything>? > > That's easy. > > arch/x86/platform/goldfish/goldfish.c > > static int __init goldfish_init(void) > { > platform_device_register_simple("goldfish_pdev_bus", -1, > goldfish_pdev_bus_resources, 2); > return 0; > } > device_initcall(goldfish_init); > > So it unconditionallyt registers that platform device, which has IRQ 4 as > irq resource and the driver happily matches on the platform devices. > > Wonderful crap, isn't it? It should be made 'depend on BROKEN'. And of course that stupid driver init runs before the serial device init happens. Which leaves the serial w/o interrupt. Crap. Thanks, Thomas -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html