The *switch* statement in otg_statemachine() does handle all possible OTG states explicitly, 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. Peter Chen's 'usb.git' repo seems outdated, so I chose to ignore it... drivers/usb/common/usb-otg-fsm.c | 2 -- 1 file changed, 2 deletions(-) Index: usb/drivers/usb/common/usb-otg-fsm.c =================================================================== --- usb.orig/drivers/usb/common/usb-otg-fsm.c +++ usb/drivers/usb/common/usb-otg-fsm.c @@ -440,8 +440,6 @@ int otg_statemachine(struct otg_fsm *fsm if (fsm->id || fsm->a_bus_drop || fsm->a_clr_err) otg_set_state(fsm, OTG_STATE_A_WAIT_VFALL); break; - default: - break; } mutex_unlock(&fsm->lock);