The *switch* statement in usb_dump_endpoint_descriptor() does handle all possible endpoint types expilicitly, so the *default* label is unreachable... Found by Linux Verification Center (linuxtesting.org) with the SVACE static analysis tool. Signed-off-by: Sergey Shtylyov <s.shtylyov@xxxxxx> --- This patch is against the 'usb-next' branch of Greg KH's 'usb.git' repo. Changes in version 2: - fixed typos in the patch description; - reformatted the patch description. drivers/usb/core/devices.c | 2 -- 1 file changed, 2 deletions(-) Index: usb/drivers/usb/core/devices.c =================================================================== --- usb.orig/drivers/usb/core/devices.c +++ usb/drivers/usb/core/devices.c @@ -168,8 +168,6 @@ static char *usb_dump_endpoint_descripto case USB_ENDPOINT_XFER_INT: type = "Int."; break; - default: /* "can't happen" */ - return start; } interval = usb_decode_interval(desc, speed);