USB: serial: cypress_m8: fix interrupt-out transfer length
authorJohan Hovold <johan@kernel.org>
Sun, 30 Sep 2018 16:03:11 +0000 (18:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Nov 2019 08:53:31 +0000 (09:53 +0100)
[ Upstream commit 56445eef55cb5904096fed7a73cf87b755dfffc7 ]

Fix interrupt-out transfer length which was being set to the
transfer-buffer length rather than the size of the outgoing packet.

Note that no slab data was leaked as the whole transfer buffer is always
cleared before each transfer.

Fixes: 9aa8dae7b1fa ("cypress_m8: use usb_fill_int_urb where appropriate")
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/serial/cypress_m8.c

index bbeeb2bd55a83cebf4cfec9b4b8f2876edde1ca0..2c915be1db4ce3599580823f9b96d610fb202182 100644 (file)
@@ -773,7 +773,7 @@ send:
 
        usb_fill_int_urb(port->interrupt_out_urb, port->serial->dev,
                usb_sndintpipe(port->serial->dev, port->interrupt_out_endpointAddress),
-               port->interrupt_out_buffer, port->interrupt_out_size,
+               port->interrupt_out_buffer, actual_size,
                cypress_write_int_callback, port, priv->write_urb_interval);
        result = usb_submit_urb(port->interrupt_out_urb, GFP_ATOMIC);
        if (result) {