[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: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



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

  Powered by Linux