i2c: tegra: check the clk_prepare_enable() return value
authorLaxman Dewangan <ldewangan@nvidia.com>
Fri, 15 Mar 2013 05:34:08 +0000 (05:34 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 27 Mar 2013 02:41:23 +0000 (02:41 +0000)
commite52ca26060bbe254ea3f8d7b31ecc998e085ec02
tree63411ff565fcbdba669f0c3557d8fc53e509c3fc
parent033aa8401ce2e90c9a26560b0712a479773de50b
i2c: tegra: check the clk_prepare_enable() return value

commit 132c803f7b70b17322579f6f4f3f65cf68e55135 upstream.

NVIDIA's Tegra SoC allows read/write of controller register only
if controller clock is enabled. System hangs if read/write happens
to registers without enabling clock.

clk_prepare_enable() can be fail due to unknown reason and hence
adding check for return value of this function. If this function
success then only access register otherwise return to caller with
error.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
[bwh: Backported to 3.2:
 - Adjust context
 - Keep calling clk_enable() directly]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/i2c/busses/i2c-tegra.c