blob: 884dccf419d5f01c504fabbdbf65d786d0f1452f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
From 3ba5c028c086ac18300f0bb2b2ac8d66a3b13f2c Mon Sep 17 00:00:00 2001
From: Sudheesh Mavila <sudheesh.mavila@amd.com>
Date: Fri, 1 Jun 2018 09:41:57 +0530
Subject: [PATCH 3457/4131] i2c-amd-I2C Bug fix for accessing multiple devices
Signed-off-by: Sudheesh Mavila <sudheesh.mavila@amd.com>
---
drivers/i2c/busses/i2c-amd-platdrv.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
mode change 100644 => 100755 drivers/i2c/busses/i2c-amd-platdrv.c
diff --git a/drivers/i2c/busses/i2c-amd-platdrv.c b/drivers/i2c/busses/i2c-amd-platdrv.c
old mode 100644
new mode 100755
index 5f195c9..aa48d72
--- a/drivers/i2c/busses/i2c-amd-platdrv.c
+++ b/drivers/i2c/busses/i2c-amd-platdrv.c
@@ -65,7 +65,7 @@ struct amd_i2c_dev {
struct amd_i2c_common i2c_common;
struct completion msg_complete;
struct i2c_msg *msg_buf;
- bool is_configured;
+ unsigned short is_configured;
u8 bus_id;
u8 *buf;
@@ -176,10 +176,10 @@ static int i2c_amd_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
dma_addr_t phys;
reinit_completion(&dev->msg_complete);
- if (dev->is_configured == 0) {
+ if (dev->is_configured != msgs->addr) {
i2c_amd_pci_configure(dev, msgs->addr);
timeout = wait_for_completion_timeout(&dev->msg_complete, 50);
- dev->is_configured = 1;
+ dev->is_configured = msgs->addr;
}
for (i = 0; i < num; i++) {
--
2.7.4
|