* [PATCH] Fix nested switch statements in dummy_hcd.c
@ 2008-03-13 14:58 Ingo van Lil
0 siblings, 0 replies; only message in thread
From: Ingo van Lil @ 2008-03-13 14:58 UTC (permalink / raw)
To: linux-kernel
Hello everybody,
this patch fixes 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.
Cheers,
Ingo
Signed-off-by: Ingo van Lil <inguin@gmx.de>
---
--- linux-2.6.23.1/drivers/usb/gadget/dummy_hcd.c.orig 2008-03-13 15:45:35.000000000 +0100
+++ linux-2.6.23.1/drivers/usb/gadget/dummy_hcd.c 2008-03-13 15:45:39.000000000 +0100
@@ -363,16 +363,14 @@
case USB_SPEED_HIGH:
if (max == 512)
break;
- /* conserve return statements */
- default:
- switch (max) {
- case 8: case 16: case 32: case 64:
+ goto done;
+ case USB_SPEED_FULL:
+ if (max == 8 || max == 16 || max == 32 || max == 64)
/* we'll fake any legal size */
break;
- default:
- case USB_SPEED_LOW:
- goto done;
- }
+ /* save a return statement */
+ default:
+ goto done;
}
break;
case USB_ENDPOINT_XFER_INT:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-03-13 15:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-13 14:58 [PATCH] Fix nested switch statements in dummy_hcd.c Ingo van Lil
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox