diff options
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.patch | 42 |
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 + |