From 3ba5c028c086ac18300f0bb2b2ac8d66a3b13f2c Mon Sep 17 00:00:00 2001 From: Sudheesh Mavila 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 --- 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