diff mbox

i2c: tegra: Correct error path in probe

Message ID 1465936007-18599-1-git-send-email-jonathanh@nvidia.com
State Deferred
Headers show

Commit Message

Jon Hunter June 14, 2016, 8:26 p.m. UTC
Commit 497fbe24987b ("i2c: tegra: enable multi master mode for tegra210")
enables the Tegra I2C 'div_clk' for adapters using the multi-master mode
during the device probe. Although the probe error path was updated to
disable the clock on probe failure, there is one place after calling
tegra_i2c_init() where the clock will not be disabled on failure. Correct
the error path so that the 'div_clk' is disabled if calling
tegra_i2c_init() fails.

Fixes: 497fbe24987b ("i2c: tegra: enable multi master mode for tegra210")

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
---
 drivers/i2c/busses/i2c-tegra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jon Hunter June 27, 2016, 9:28 a.m. UTC | #1
Hi all,

On 14/06/16 21:26, Jon Hunter wrote:
> Commit 497fbe24987b ("i2c: tegra: enable multi master mode for tegra210")
> enables the Tegra I2C 'div_clk' for adapters using the multi-master mode
> during the device probe. Although the probe error path was updated to
> disable the clock on probe failure, there is one place after calling
> tegra_i2c_init() where the clock will not be disabled on failure. Correct
> the error path so that the 'div_clk' is disabled if calling
> tegra_i2c_init() fails.
> 
> Fixes: 497fbe24987b ("i2c: tegra: enable multi master mode for tegra210")
> 
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> ---
>  drivers/i2c/busses/i2c-tegra.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
> index 445398c314a3..b126dbaa47e3 100644
> --- a/drivers/i2c/busses/i2c-tegra.c
> +++ b/drivers/i2c/busses/i2c-tegra.c
> @@ -912,7 +912,7 @@ static int tegra_i2c_probe(struct platform_device *pdev)
>  	ret = tegra_i2c_init(i2c_dev);
>  	if (ret) {
>  		dev_err(&pdev->dev, "Failed to initialize i2c controller");
> -		goto unprepare_div_clk;
> +		goto disable_div_clk;
>  	}
>  
>  	ret = devm_request_irq(&pdev->dev, i2c_dev->irq,

Any feedback on this?

Jon
Laxman Dewangan June 27, 2016, 9:32 a.m. UTC | #2
On Monday 27 June 2016 02:58 PM, Jon Hunter wrote:
> Hi all,
>
> On 14/06/16 21:26, Jon Hunter wrote:
>> @@ -912,7 +912,7 @@ static int tegra_i2c_probe(struct platform_device *pdev)
>>   	ret = tegra_i2c_init(i2c_dev);
>>   	if (ret) {
>>   		dev_err(&pdev->dev, "Failed to initialize i2c controller");
>> -		goto unprepare_div_clk;
>> +		goto disable_div_clk;
>>   	}
>>

Yes, this looks correct.

Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jon Hunter July 5, 2016, 1:21 p.m. UTC | #3
Wolfram,

On 27/06/16 10:32, Laxman Dewangan wrote:
> 
> On Monday 27 June 2016 02:58 PM, Jon Hunter wrote:
>> Hi all,
>>
>> On 14/06/16 21:26, Jon Hunter wrote:
>>> @@ -912,7 +912,7 @@ static int tegra_i2c_probe(struct platform_device
>>> *pdev)
>>>       ret = tegra_i2c_init(i2c_dev);
>>>       if (ret) {
>>>           dev_err(&pdev->dev, "Failed to initialize i2c controller");
>>> -        goto unprepare_div_clk;
>>> +        goto disable_div_clk;
>>>       }
>>>
> 
> Yes, this looks correct.
> 
> Acked-by: Laxman Dewangan <ldewangan@nvidia.com>

Can you pick this one up?

Cheers
Jon
Wolfram Sang July 5, 2016, 3:22 p.m. UTC | #4
On Tue, Jun 14, 2016 at 09:26:46PM +0100, Jon Hunter wrote:
> Commit 497fbe24987b ("i2c: tegra: enable multi master mode for tegra210")
> enables the Tegra I2C 'div_clk' for adapters using the multi-master mode
> during the device probe. Although the probe error path was updated to
> disable the clock on probe failure, there is one place after calling
> tegra_i2c_init() where the clock will not be disabled on failure. Correct
> the error path so that the 'div_clk' is disabled if calling
> tegra_i2c_init() fails.
> 
> Fixes: 497fbe24987b ("i2c: tegra: enable multi master mode for tegra210")
> 
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>

Applied to for-current, thanks!
diff mbox

Patch

diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 445398c314a3..b126dbaa47e3 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -912,7 +912,7 @@  static int tegra_i2c_probe(struct platform_device *pdev)
 	ret = tegra_i2c_init(i2c_dev);
 	if (ret) {
 		dev_err(&pdev->dev, "Failed to initialize i2c controller");
-		goto unprepare_div_clk;
+		goto disable_div_clk;
 	}
 
 	ret = devm_request_irq(&pdev->dev, i2c_dev->irq,