• Thomas Gleixner's avatar
    x86/platform/goldfish: Prevent unconditional loading · 2709c2a1
    Thomas Gleixner authored
    commit 47512cfd upstream.
    
    The goldfish platform code registers the platform device unconditionally
    which causes havoc in several ways if the goldfish_pdev_bus driver is
    enabled:
    
     - Access to the hardcoded physical memory region, which is either not
       available or contains stuff which is completely unrelated.
    
     - Prevents that the interrupt of the serial port can be requested
    
     - In case of a spurious interrupt it goes into a infinite loop in the
       interrupt handler of the pdev_bus driver (which needs to be fixed
       seperately).
    
    Add a 'goldfish' command line option to make the registration opt-in when
    the platform is compiled in.
    
    I'm seriously grumpy about this engineering trainwreck, which has seven
    SOBs from Intel developers for 50 lines of code. And none of them figured
    out that this is broken. Impressive fail!
    
    Fixes: ddd70cf9 ("goldfish: platform device for x86")
    Reported-by: default avatarGabriel C <nix.or.die@gmail.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    2709c2a1
goldfish.c 1.53 KB