usb: dwc2: fix kernel oops during driver probe
authorStefan Wahren <stefan.wahren@i2se.com>
Thu, 12 Nov 2015 21:08:34 +0000 (21:08 +0000)
committerFelipe Balbi <balbi@ti.com>
Fri, 20 Nov 2015 15:29:47 +0000 (09:29 -0600)
commitf74875dc36135ebae82a8e005f4b7f52289d2c40
tree5c6d6d7c9a600b47cdcc32deacd49da6e38bfead
parent5c256b68348e9717c8ba23521ef52ef7f69d4448
usb: dwc2: fix kernel oops during driver probe

This patch make sure that all necessary members of dwc2_hsotg
are initialized before the irq handler is requested. So
the kernel oops triggered by dwc2_handle_common_intr has
been fixed.

  dwc2 20980000.usb: Configuration mismatch. Forcing host mode
  dwc2 20980000.usb: no platform data or transceiver defined
  Unable to handle kernel paging request at virtual address cc860040
  pgd = c0004000
  [cc860040] *pgd=0b41e811, *pte=00000000, *ppte=00000000
  Internal error: Oops: 7 [#1] ARM
  CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc3+ #19
  Hardware name: BCM2835
  task: cb494000 ti: cb4d0000 task.ti: cb4d0000
  PC is at dwc2_is_controller_alive+0x18/0x34
  LR is at dwc2_handle_common_intr+0x24/0xb60

Acked-by: John Youn <johnyoun@synopsys.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc2/platform.c