• A
    usb_serial: API all change · 95da310e
    Alan Cox 提交于
    USB serial likes to use port->tty back pointers for the real work it does and
    to do so without any actual locking. Unfortunately when you consider hangup
    events, hangup/parallel reopen or even worse hangup followed by parallel close
    events the tty->port and port->tty pointers are not guaranteed to be the same
    as port->tty is the active tty while tty->port is the port the tty may or
    may not still be attached to.
    
    So rework the entire API to pass the tty struct. For console cases we need
    to pass both for now. This shows up multiple drivers that immediately crash
    with USB console some of which have been fixed in the process.
    
    Longer term we need a proper tty as console abstraction
    Signed-off-by: NAlan Cox <alan@redhat.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    95da310e
garmin_gps.c 41.9 KB