goldfish: Sanitize the broken interrupt handler
authorThomas Gleixner <tglx@linutronix.de>
Wed, 15 Feb 2017 10:11:51 +0000 (11:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Feb 2017 16:49:58 +0000 (08:49 -0800)
commit6cf18e6927c0b224f972e3042fb85770d63cb9f8
treeea7ebea14338936e8b81a3d7a641a019fca986fe
parent47512cfd0d7a8bd6ab71d01cd89fca19eb2093eb
goldfish: Sanitize the broken interrupt handler

This interrupt handler is broken in several ways:

  - It loops forever when the op code is not decodeable

  - It never returns IRQ_HANDLED because the only way to exit the loop
    returns IRQ_NONE unconditionally.

The whole concept of this is broken. Creating devices in an interrupt
handler is beyond any point of sanity.

Make it at least behave halfways sane so accidental users do not have to
deal with a hard to debug lockup.

Fixes: e809c22b8fb028 ("goldfish: add the goldfish virtual bus")
Reported-by: Gabriel C <nix.or.die@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/goldfish/pdev_bus.c