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:797 musb_handle_intr_connect() error: we previously assumed 'musb->hcd' could be null (see line 783) drivers/usb/musb/musb_core.c 779 case OTG_STATE_B_WAIT_ACON: 780 musb_dbg(musb, "HNP: CONNECT, now b_host"); 781 b_host: 782 musb->xceiv->otg->state = OTG_STATE_B_HOST; 783 if (musb->hcd) ^^^^^^^^^ Checked for NULL 784 musb->hcd->self.is_b_host = 1; 785 del_timer(&musb->otg_timer); 786 break; 787 default: 788 if ((devctl & MUSB_DEVCTL_VBUS) 789 == (3 << MUSB_DEVCTL_VBUS_SHIFT)) { 790 musb->xceiv->otg->state = OTG_STATE_A_HOST; 791 if (hcd) 792 hcd->self.is_b_host = 0; 793 } 794 break; 795 } 796 797 musb_host_poke_root_hub(musb); ^^^^ Unchecked dereference inside function. 798 799 musb_dbg(musb, "CONNECT (%s) devctl %02x", 800 usb_otg_state_string(musb->xceiv->otg->state), devctl); 801 } 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