• A
    usb-serial: ftdi_sio: fix oops during autosuspend · 5cbe61c5
    Alan Stern 提交于
    This patch (as1550) fixes a bug in the usb-serial core that affects
    the ftdi_sio driver and most likely others as well.  The core
    implements suspend and resume routines, but it doesn't store pointers
    to those routines in the usb_driver structures that it registers,
    even though it does set those drivers' supports_autosuspend flag.  The
    end result is that when one of these devices is autosuspended, we try
    to call through a NULL pointer.
    
    The patch fixes the problem by setting the suspend and resume method
    pointers to the appropriate routines in the USB serial core, along
    with the supports_autosuspend field, in each driver as it is
    registered.
    
    This should be back-ported to all the stable kernels that have the new
    usb_serial_register_drivers() interface.
    Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
    Reported-and-tested-by: NFrank Schäfer <schaefer.frank@gmx.net>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    5cbe61c5
usb-serial.c 39.3 KB