diff options
author | Frank Chen <frankc@nvidia.com> | 2016-12-28 19:12:36 -0500 |
---|---|---|
committer | Bhanu Murthy V <bmurthyv@nvidia.com> | 2017-03-22 13:34:43 -0400 |
commit | 8269a0061ed2bf2e1725f2334b0c72e1d985aaa5 (patch) | |
tree | b45600a78813cf736137a597a9a908cb4d830b29 /drivers/i2c | |
parent | 6821cfb65bdf040c44e86d1f39b8823d78b24445 (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.c | 3 |
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), |