aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3457-i2c-amd-I2C-Bug-fix-for-accessing-multiple-devices.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3457-i2c-amd-I2C-Bug-fix-for-accessing-multiple-devices.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3457-i2c-amd-I2C-Bug-fix-for-accessing-multiple-devices.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3457-i2c-amd-I2C-Bug-fix-for-accessing-multiple-devices.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3457-i2c-amd-I2C-Bug-fix-for-accessing-multiple-devices.patch
new file mode 100644
index 00000000..884dccf4
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3457-i2c-amd-I2C-Bug-fix-for-accessing-multiple-devices.patch
@@ -0,0 +1,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
+