Merge tag 'reset-fixes-for-v5.16-2' of git://git.pengutronix.de/pza/linux into arm/fixes

Reset controller fixes for v5.16, part 2

Fix pm_runtime_resume_and_get() error handling in the
reset-rzg2l-usbphy-ctrl driver.

* tag 'reset-fixes-for-v5.16-2' of git://git.pengutronix.de/pza/linux:
reset: renesas: Fix Runtime PM usage
reset: tegra-bpmp: Revert Handle errors in BPMP response

Link: https://lore.kernel.org/r/20220105172515.273947-1-p.zabel@pengutronix.de
Signed-off-by: Olof Johansson <olof@lixom.net>

Changed files
+7 -9
drivers
+6 -1
drivers/reset/reset-rzg2l-usbphy-ctrl.c
··· 137 137 dev_set_drvdata(dev, priv); 138 138 139 139 pm_runtime_enable(&pdev->dev); 140 - pm_runtime_resume_and_get(&pdev->dev); 140 + error = pm_runtime_resume_and_get(&pdev->dev); 141 + if (error < 0) { 142 + pm_runtime_disable(&pdev->dev); 143 + reset_control_assert(priv->rstc); 144 + return dev_err_probe(&pdev->dev, error, "pm_runtime_resume_and_get failed"); 145 + } 141 146 142 147 /* put pll and phy into reset state */ 143 148 spin_lock_irqsave(&priv->lock, flags);
+1 -8
drivers/reset/tegra/reset-bpmp.c
··· 20 20 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); 21 21 struct mrq_reset_request request; 22 22 struct tegra_bpmp_message msg; 23 - int err; 24 23 25 24 memset(&request, 0, sizeof(request)); 26 25 request.cmd = command; ··· 30 31 msg.tx.data = &request; 31 32 msg.tx.size = sizeof(request); 32 33 33 - err = tegra_bpmp_transfer(bpmp, &msg); 34 - if (err) 35 - return err; 36 - if (msg.rx.ret) 37 - return -EINVAL; 38 - 39 - return 0; 34 + return tegra_bpmp_transfer(bpmp, &msg); 40 35 } 41 36 42 37 static int tegra_bpmp_reset_module(struct reset_controller_dev *rstc,