07.02.2019 18:17, Sowjanya Komatineni пишет: >>> >>>> @@ -1124,6 +1453,10 @@ static int tegra_i2c_probe(struct platform_device *pdev) >>>> } >>>> } >>>> >>>> + ret = tegra_i2c_init_dma(i2c_dev); >>>> + if (ret < 0) >>>> + goto disable_div_clk; >>>> + >>>> ret = tegra_i2c_init(i2c_dev); >>>> if (ret) { >>>> dev_err(&pdev->dev, "Failed to initialize i2c controller\n"); >>> >>> >>> Missing DMA resourcing release on probe failure. >> > If probe fails due to other reasons, then I2C interface will not be available and boot will not even happen. > Do we need DMA resourcing release? > Probe can fail due to timeout or from pm_runtime.. and if i2c fails lots of things don’t happen properly and doesn’t boot. > > Will add but want to check.. > 1) There is no guarantee that other error cases won't return -EPROBE_DEFER. 2) I2C driver could be compiled as a module. 3) It is simply a bad programming practice to leak resources.