• J
    USB: cdc-acm: fix device unregistration · cb25505f
    Johan Hovold 提交于
    Unregister tty device in disconnect as is required by the USB stack.
    
    By deferring unregistration to when the last tty reference is dropped,
    the parent interface device can get unregistered before the child
    resulting in broken hotplug events being generated when the tty is
    finally closed:
    
    KERNEL[2290.798128] remove   /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:3.1 (usb)
    KERNEL[2290.804589] remove   /devices/pci0000:00/0000:00:1d.7/usb2/2-1 (usb)
    KERNEL[2294.554799] remove   /2-1:3.1/tty/ttyACM0 (tty)
    
    The driver must deal with tty callbacks after disconnect by checking the
    disconnected flag. Specifically, further opens must be prevented and
    this is already implemented.
    
    Cc: stable <stable@vger.kernel.org>
    Cc: Oliver Neukum <oneukum@suse.de>
    Acked-by: NOliver Neukum <oneukum@suse.de>
    Signed-off-by: NJohan Hovold <jhovold@gmail.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    cb25505f
cdc-acm.c 48.4 KB