Re: genirq: Flags mismatch irq 4. 00000000 (serial) vs. 00000080 (goldfish_pdev_bus)

From: Jiri Slaby
Date: Mon Apr 04 2016 - 03:55:22 EST


On 04/02/2016, 12:35 PM, Dmitry Vyukov wrote:
> Hello,
>
> After updating from 8e0f93cda48ed054e1216bab5c60017e1a5fc1e8 to
> 05cf8077e54b20dddb756eaa26f3aeb5c38dd3cf (Apr 1) I've started seeing
> the following warnings:
>
> genirq: Flags mismatch irq 4. 00000000 (serial) vs. 00000080 (goldfish_pdev_bus)
> CPU: 3 PID: 6626 Comm: init Tainted: G W 4.6.0-rc1+ #338
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
> ffffffff87eb26a0 ffff88003da17618 ffffffff82c8ea9f ffffffff86f0c740
> fffffbfff0fd64d4 ffff88003e8a6aa8 ffff88005eb4c4c8 00000000fffffff0
> ffffffff874f6be0 ffff880034ae63a8 ffff88003da17708 ffffffff8149e73c
> Call Trace:
> [< inline >] __dump_stack lib/dump_stack.c:15
> [<ffffffff82c8ea9f>] dump_stack+0x12e/0x18f lib/dump_stack.c:51
> [<ffffffff8149e73c>] __setup_irq+0x11fc/0x1610 kernel/irq/manage.c:1369
> [<ffffffff8149ef55>] request_threaded_irq+0x275/0x410 kernel/irq/manage.c:1652
> [< inline >] request_irq include/linux/interrupt.h:147
...
> They appear after boot every 10 seconds.
> I am using qemu. Here are GOLDFISH related .config values:
>
> CONFIG_GOLDFISH=y
> # CONFIG_X86_GOLDFISH is not set
> CONFIG_KEYBOARD_GOLDFISH_EVENTS=y
> CONFIG_GOLDFISH_TTY=y
> CONFIG_BATTERY_GOLDFISH=y
> CONFIG_FB_GOLDFISH=y
> CONFIG_MMC_GOLDFISH=y
> CONFIG_GOLDFISH_AUDIO=y
> CONFIG_MTD_GOLDFISH_NAND=y
> CONFIG_GOLDFISH_BUS=y
> CONFIG_GOLDFISH_PIPE=y
>
> Is it a known issue? How can it be fixed?

This is a conflict between request_irq of goldfish and 8250. Setting
SERIAL_8250_SHARE_IRQ (which is the default) should make the trace gone.
Note that GOLDFISH=y makes sense only if you build a goldfish kernel.
I.e. setting both 8250 and goldfish does not make much sense IIRC.

thanks,
--
js
suse labs