summaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorFrank Chen <frankc@nvidia.com>2016-12-28 19:12:36 -0500
committerBhanu Murthy V <bmurthyv@nvidia.com>2017-03-22 13:34:43 -0400
commit8269a0061ed2bf2e1725f2334b0c72e1d985aaa5 (patch)
treeb45600a78813cf736137a597a9a908cb4d830b29 /drivers/i2c
parent6821cfb65bdf040c44e86d1f39b8823d78b24445 (diff)
i2c: tegra: vi: Fix vii2c isr function
Correct the spin lock sequence in vii2c interrupt service routine. Bug 1798951 Change-Id: I51f629b279c6a8d32c18d28dfa6977fbafee6095 Signed-off-by: Frank Chen <frankc@nvidia.com> Reviewed-on: http://git-master/r/1277862 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Wenjia Zhou <wenjiaz@nvidia.com> Reviewed-by: Bhanu Murthy V <bmurthyv@nvidia.com> Reviewed-by: Jihoon Bang <jbang@nvidia.com>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-tegra-vi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-tegra-vi.c b/drivers/i2c/busses/i2c-tegra-vi.c
index 1901beead..b37b2ecc5 100644
--- a/drivers/i2c/busses/i2c-tegra-vi.c
+++ b/drivers/i2c/busses/i2c-tegra-vi.c
@@ -1130,9 +1130,10 @@ static irqreturn_t tegra_i2c_isr(int irq, void *dev_id)
1130 unsigned long flags; 1130 unsigned long flags;
1131 u32 mask; 1131 u32 mask;
1132 1132
1133 spin_lock_irqsave(&i2c_dev->xfer_lock, flags);
1134
1133 status = i2c_readl(i2c_dev, I2C_INT_STATUS); 1135 status = i2c_readl(i2c_dev, I2C_INT_STATUS);
1134 1136
1135 spin_lock_irqsave(&i2c_dev->xfer_lock, flags);
1136 if (status == 0) { 1137 if (status == 0) {
1137 dev_warn(i2c_dev->dev, "irq status 0 %08x %08x %08x\n", 1138 dev_warn(i2c_dev->dev, "irq status 0 %08x %08x %08x\n",
1138 i2c_readl(i2c_dev, I2C_PACKET_TRANSFER_STATUS), 1139 i2c_readl(i2c_dev, I2C_PACKET_TRANSFER_STATUS),