Commit d9f0d82f06c6 ("USB: legousbtower: use usb_control_msg_recv()") contained an elementary logical error. The check of the return code from the new usb_control_msg_recv() function was inverted. Reported-and-tested-by: syzbot+9be25235b7a69b24d117@xxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> --- [as1950] drivers/usb/misc/legousbtower.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: usb-devel/drivers/usb/misc/legousbtower.c =================================================================== --- usb-devel.orig/drivers/usb/misc/legousbtower.c +++ usb-devel/drivers/usb/misc/legousbtower.c @@ -797,7 +797,7 @@ static int tower_probe(struct usb_interf &get_version_reply, sizeof(get_version_reply), 1000, GFP_KERNEL); - if (!result) { + if (result) { dev_err(idev, "get version request failed: %d\n", result); retval = result; goto error;