On Wed, Jun 12, 2019 at 03:17:35PM +0200, Niklas Cassel wrote: > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c > > index cd91b4179b10..22352e3b0ec5 100644 > > --- a/drivers/phy/qualcomm/phy-qcom-qmp.c > > +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c > > @@ -1490,7 +1490,7 @@ static int qcom_qmp_phy_enable(struct phy *phy) > > > > ret = qcom_qmp_phy_com_init(qphy); > > if (ret) > > - return ret; > > + goto err_lane_rst; > > > > if (cfg->has_lane_rst) { > > ret = reset_control_deassert(qphy->lane_rst); Hi Niklas, unfortunately, it didn't help - i added a printk, to highlight when it failed: --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -1489,8 +1489,10 @@ static int qcom_qmp_phy_enable(struct phy *phy) } ret = qcom_qmp_phy_com_init(qphy); - if (ret) - return ret; + if (ret) { + dev_err(qmp->dev, "qphy initialization failed\n"); + goto err_lane_rst; + } if (cfg->has_lane_rst) { ret = reset_control_deassert(qphy->lane_rst); After several reboots i was able to trigger the phy init failure again: ... [ 2.223999] qcom-qmp-phy 34000.phy: Registered Qcom-QMP phy [ 2.224956] qcom-qmp-phy 7410000.phy: Registered Qcom-QMP phy [ 2.228798] ufs_qcom_phy_qmp_14nm 627000.phy: invalid resource [ 2.237271] qcom-qmp-phy 34000.phy: phy common block init timed-out [ 2.240315] qcom-qmp-phy 34000.phy: qphy initialization failed ... these are the last lines printed, before rebooting in fastboot and locking up there (as before[*]). So, as far as i understand there are two distinct problems: 1) sometimes, qcom-qmp-phy fails to initialize 2) and when that happens, the failure is fatal and it led to a reboot & lockup in fastboot 1: https://pastebin.ubuntu.com/p/rtjVrD3yzk/ -- bye, p.