aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/3457-i2c-amd-I2C-Bug-fix-for-accessing-multiple-devices.patch
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