Hello Bin Liu, The patch bcb8fd3a2fba: "usb: musb: break the huge isr musb_stage0_irq() into small functions" from May 21, 2018, leads to the following static checker warning: drivers/usb/musb/musb_core.c:825 musb_handle_intr_disconnect() warn: variable dereferenced before check 'musb->hcd' (see line 824) drivers/usb/musb/musb_core.c 818 case OTG_STATE_B_HOST: 819 /* REVISIT this behaves for "real disconnect" 820 * cases; make sure the other transitions from 821 * from B_HOST act right too. The B_HOST code 822 * in hnp_stop() is currently not used... 823 */ 824 musb_root_disconnect(musb); ^^^^ disconnect will oops if musb->hcd is NULL 825 if (musb->hcd) ^^^^^^^^^ 826 musb->hcd->self.is_b_host = 0; 827 musb->xceiv->otg->state = OTG_STATE_B_PERIPHERAL; 828 MUSB_DEV_MODE(musb); 829 musb_g_disconnect(musb); 830 break; 831 case OTG_STATE_A_PERIPHERAL: 832 musb_hnp_stop(musb); regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html