i2c: tegra: do not suspend i2c interrupts
Laxman Dewangan [Thu, 18 Apr 2013 13:43:51 +0000 (18:43 +0530)]
There is possibility of I2C transfer calls even after suspend of
drivers occur.

To have the I2C transfer properly in this case, it should not suspend
interrupt of I2C so that interrupt support should be available.

Bug 1278481

Change-Id: Ic37a19655fe200c2632279e00dbcf08ad00a9d73
Signed-off-by: Naveen Kumar S <nkumars@nvidia.com>
Reviewed-on: http://git-master/r/220599
(cherry picked from commit fad2b7a813dd1a6628ad0918297ea22014b6d4e6)
Reviewed-on: http://git-master/r/228973
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>

drivers/i2c/busses/i2c-tegra.c

index 160c258..98c6fec 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (C) 2010 Google, Inc.
  * Author: Colin Cross <ccross@android.com>
  *
- * Copyright (C) 2010-2012 NVIDIA Corporation
+ * Copyright (C) 2010-2013 NVIDIA CORPORATION. All rights reserved.
  *
  * This software is licensed under the terms of the GNU General Public
  * License version 2, as published by the Free Software Foundation, and
@@ -1243,7 +1243,8 @@ static int __devinit tegra_i2c_probe(struct platform_device *pdev)
        }
 
        ret = devm_request_irq(&pdev->dev, i2c_dev->irq,
-                       tegra_i2c_isr, 0, dev_name(&pdev->dev), i2c_dev);
+                       tegra_i2c_isr, IRQF_NO_SUSPEND,
+                       dev_name(&pdev->dev), i2c_dev);
        if (ret) {
                dev_err(&pdev->dev, "Failed to request irq %i\n", i2c_dev->irq);
                return ret;