Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

USB: gadget: dummy_hcd.c: fix nested switch statements

Fix a messed up combination of two nested switch statements in
drivers/usb/gadget/dummy_hcd.c.

According to the USB spec (section 5.8.3) the maximum packet size for bulk
endpoints can be 512 for high-speed devices and 8, 16, 32 or 64 for full-speed
devices. Low-speed devices must not have bulk endpoints.

Signed-off-by: Ingo van Lil <inguin@gmx.de>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


authored by

Ingo van Lil and committed by
Greg Kroah-Hartman
9063ff44 73d79aab

+6 -8
+6 -8
drivers/usb/gadget/dummy_hcd.c
··· 365 365 case USB_SPEED_HIGH: 366 366 if (max == 512) 367 367 break; 368 - /* conserve return statements */ 369 - default: 370 - switch (max) { 371 - case 8: case 16: case 32: case 64: 368 + goto done; 369 + case USB_SPEED_FULL: 370 + if (max == 8 || max == 16 || max == 32 || max == 64) 372 371 /* we'll fake any legal size */ 373 372 break; 374 - default: 375 - case USB_SPEED_LOW: 376 - goto done; 377 - } 373 + /* save a return statement */ 374 + default: 375 + goto done; 378 376 } 379 377 break; 380 378 case USB_ENDPOINT_XFER_INT: