Re: [PATCH V14 3/5] i2c: tegra: Add DMA support

From: Dmitry Osipenko
Date: Thu Feb 07 2019 - 10:56:20 EST


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.