30.04.2020 01:00, Sowjanya Komatineni пишет: > +static int tegra_csi_init(struct host1x_client *client) > +{ > + struct tegra_csi *csi = host1x_client_to_csi(client); > + struct tegra_video_device *vid = dev_get_drvdata(client->host); > + int ret; > + > + INIT_LIST_HEAD(&csi->csi_chans); > + > + ret = tegra_csi_tpg_channels_alloc(csi); > + if (ret < 0) { > + dev_err(csi->dev, > + "failed to allocate tpg channels: %d\n", ret); > + goto cleanup; > + } > + > + ret = tegra_csi_channels_init(csi); > + if (ret < 0) > + goto cleanup; > + > + vid->csi = csi; > + > + return 0; > + > +cleanup: > + tegra_csi_channels_cleanup(csi); > + pm_runtime_put_sync(csi->dev); This pm_runtime_put_sync() should be removed. > + return ret; > +}