Re: [PATCH 4/4] phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup

From: Florian Fainelli
Date: Wed Dec 27 2017 - 20:25:21 EST




On 12/27/2017 11:28 AM, Al Cooper wrote:
> From: Al Cooper <al.cooper@xxxxxxxxxxxx>
>
> This is caused by a bug in the BDC core. When the BDC core comes
> out of reset and it's not selected, it gets a backup clock. When
> the BDC core is selected, it get's the main clock. If HOST mode
> is then selected the BDC core has the main clock shut off but
> the backup clock is not restored.
>
> The failure scenario and cause are as follows:
> - DRD mode is active
> - Device mode is selected first in bootloader
> - When host mode is now selected, the clock to the BDC is cut off.
> - BDC registers are inaccessible and therefore the BDC driver
> crashes upon Linux boot.
>
> The fix is to have the phy driver always force a BDC reset on
> startup.
>
> Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
> Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx>

Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
--
Florian