[bug report] usb: musb: break the huge isr musb_stage0_irq() into small functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux