diff options
| author | Devin Kim <dojip.kim@lge.com> | 2014-04-29 13:25:49 -0700 |
|---|---|---|
| committer | LorDClockaN <davor@losinj.com> | 2014-09-16 20:07:31 +0200 |
| commit | 466e4895d67e8680abd4a6ddb239fba94dd04836 (patch) | |
| tree | 7756b8bd1bd07cf030643d1be1acd5ec06246d72 | |
| parent | 5026c7a0c8c7e0c463eda12ac1e999023d0c6389 (diff) | |
video: slimport: Do not access the sp registers after power downkitkat
The burst i2c errors sometimes causes a watchdog reset. The i2c errors
are caused by accessing the sp registers after SP is power down. So
do not access the sp register after power down to avoid the watchdog reset.
Change-Id: If64b0bf6f437292f356fa165d4203d522c26cfe6
Signed-off-by: Devin Kim <dojip.kim@lge.com>
| -rw-r--r-- | drivers/video/slimport/slimport.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/video/slimport/slimport.c b/drivers/video/slimport/slimport.c index f4b471761e8..f146ba382b2 100644 --- a/drivers/video/slimport/slimport.c +++ b/drivers/video/slimport/slimport.c @@ -241,6 +241,11 @@ int sp_read_reg(uint8_t slave_addr, uint8_t offset, uint8_t *buf) if (!the_chip) return -EINVAL; + if (sp_tx_pd_mode) { + pr_debug("tried to access the sp reg after power down\n"); + return -EIO; + } + the_chip->client->addr = (slave_addr >> 1); ret = i2c_smbus_read_byte_data(the_chip->client, offset); if (ret < 0) { @@ -259,6 +264,11 @@ int sp_write_reg(uint8_t slave_addr, uint8_t offset, uint8_t value) if (!the_chip) return -EINVAL; + if (sp_tx_pd_mode) { + pr_debug("tried to access the sp reg after power down\n"); + return -EIO; + } + the_chip->client->addr = (slave_addr >> 1); ret = i2c_smbus_write_byte_data(the_chip->client, offset, value); if (ret < 0) { |
