Skip to content
  • Thomas Petazzoni's avatar
    serial: mvebu-uart: free the IRQ in ->shutdown() · c2c1659b
    Thomas Petazzoni authored
    As suggested by the serial port infrastructure documentation, the IRQ is
    requested in ->startup(). However, it is never freed in the ->shutdown()
    hook.
    
    With simple systems that open the serial port once for all and always
    have at least one process that keep the serial port opened, there was no
    problem. But with a more complicated system (*cough* systemd *cough*),
    the serial port is opened/closed many times, which at some point no
    processes having the serial port open at all. Due to this ->startup()
    gets called again, tries to request_irq() again, which fails.
    
    Fixes: 30530791
    
     ("serial: mvebu-uart: initial support for Armada-3700 serial port")
    Cc: <stable@vger.kernel.org>
    Cc: Ofer Heifetz <oferh@marvell.com>
    Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    c2c1659b