usb: dwc2: regression during boot on Raspberry Pi

Stefan Wahren info at lategoodbye.de
Mon Nov 9 12:42:52 PST 2015


Hi,

Am 09.11.2015 um 12:53 schrieb Marek Szyprowski:
> Hello,
>
>
> This change looks reasonable, I remember the similar issue was in
> s3c-hsotg driver
> and it caused kernel ops on driver probe, when bootloader left dwc2
> enabled.
> The other way of solving it would be to add
> irq_set_status_flags(irq, IRQ_NOAUTOEN);
> before devm_request_irq() and then call enable_irq(irq) after
> dwc2_lowlevel_hw_enable().
>
> Best regards

unfortunately this fixes only the oops. I need to revert commit 
09a75e85779014 ("usb: dwc2: refactor common low-level hw code to 
platform.c") to get USB working again.

In dwc2_lowlevel_hw_init the following statement on Raspberry Pi seems 
to never come true:

if (!hsotg->phy && !hsotg->uphy && !hsotg->plat) {
	dev_err(hsotg->dev, "no platform data or transceiver defined\n");
	return -EPROBE_DEFER;
}

This looks wrong to me. According to dwc2 binding the PHY could be 
optional, isn't it?

Best regards
Stefan



More information about the linux-rpi-kernel mailing list