This really just is the resume callback for the device, so use that, especially as the usb-serial core just overrode this callback so it wasn't being made anyway. Cc: Johan Hovold <jhovold@xxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/usb/serial/ch341.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c index 4f0260a..95b2597 100644 --- a/drivers/usb/serial/ch341.c +++ b/drivers/usb/serial/ch341.c @@ -577,27 +577,20 @@ static int ch341_tiocmget(struct tty_struct *tty) return result; } - -static int ch341_reset_resume(struct usb_interface *intf) +static int ch341_resume(struct usb_serial *serial) { - struct usb_device *dev = interface_to_usbdev(intf); - struct usb_serial *serial = NULL; struct ch341_private *priv; - serial = usb_get_intfdata(intf); priv = usb_get_serial_port_data(serial->port[0]); - /*reconfigure ch341 serial port after bus-reset*/ - ch341_configure(dev, priv); - - usb_serial_resume(intf); + /* reconfigure ch341 serial port after bus-reset */ + ch341_configure(serial->dev, priv); return 0; } static struct usb_driver ch341_driver = { .name = "ch341", - .reset_resume = ch341_reset_resume, .id_table = id_table, }; @@ -619,6 +612,7 @@ static struct usb_serial_driver ch341_device = { .tiocmset = ch341_tiocmset, .read_int_callback = ch341_read_int_callback, .attach = ch341_attach, + .resume = ch341_resume, }; static struct usb_serial_driver * const serial_drivers[] = { -- 1.7.10.1.362.g242cab3 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html