XUSBC partition hang

The call “tegra210_pg_powergate_partition(TEGRA210_POWER_DOMAIN_XUSBC)” in “drivers/platform/tegra/powergate/powergate-t21x.c” causes a catastrophic hang during boot – on my custom carrier – once it reaches “clk_disable_unprepare(clk)”.

Bypassing this call allows boot to complete. A catastrophic hang can then be triggered through powergate events in the xhci-tegra driver which, again, touch the XUSBC partition. It should also be noted that enumeration of USB devices fails.

This issue does not present under the 3.10 kernel, but does under the 4.4 kernel…

Any insight would be appreciated, thank you.

I fixed it by moving the “tegra_powergate_init()” initcall to subsys. That is, it seems that this call should occur only after the “tegra_clocks_apply_init_table()” initcall if boot clocking is somehow deviant.