diff for duplicates of <54A58BA5.3080003@interlog.com> diff --git a/a/1.txt b/N1/1.txt index 117f86b..ee5676e 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -24,4 +24,11 @@ ChangeLog: and restore some registers, including the interrupt mask -Signed-off-by: Douglas Gilbert <dgilbert-qazKcTl6WRFWk0Htik3J/w@public.gmane.org> +Signed-off-by: Douglas Gilbert <dgilbert@interlog.com> +-------------- next part -------------- +A non-text attachment was scrubbed... +Name: i2c-at91-timeout1.patch +Type: text/x-patch +Size: 972 bytes +Desc: not available +URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150101/fd42e097/attachment.bin> diff --git a/a/2.hdr b/a/2.hdr deleted file mode 100644 index 3f5ac10..0000000 --- a/a/2.hdr +++ /dev/null @@ -1,5 +0,0 @@ -Content-Type: text/x-patch; - name="i2c-at91-timeout1.patch" -Content-Transfer-Encoding: 7bit -Content-Disposition: attachment; - filename="i2c-at91-timeout1.patch" diff --git a/a/2.txt b/a/2.txt deleted file mode 100644 index d2b87d3..0000000 --- a/a/2.txt +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c -index 636fd2e..4d78708 100644 ---- a/drivers/i2c/busses/i2c-at91.c -+++ b/drivers/i2c/busses/i2c-at91.c -@@ -382,6 +382,7 @@ static int at91_do_twi_transfer(struct at91_twi_dev *dev) - { - int ret; - bool has_unre_flag = dev->pdata->has_unre_flag; -+ bool timed_out = false; - - dev_dbg(dev->dev, "transfer: %s %d bytes.\n", - (dev->msg->flags & I2C_M_RD) ? "read" : "write", dev->buf_len); -@@ -440,7 +441,7 @@ static int at91_do_twi_transfer(struct at91_twi_dev *dev) - dev->adapter.timeout); - if (ret == 0) { - dev_err(dev->dev, "controller timed out\n"); -- at91_init_twi_bus(dev); -+ timed_out = true; - ret = -ETIMEDOUT; - goto error; - } -@@ -471,6 +472,11 @@ static int at91_do_twi_transfer(struct at91_twi_dev *dev) - - error: - at91_twi_dma_cleanup(dev); -+ if (timed_out) { -+ at91_twi_irq_save(dev); -+ at91_init_twi_bus(dev); -+ at91_twi_irq_restore(dev); -+ } - return ret; - } diff --git a/a/content_digest b/N1/content_digest index 885575c..bdbe799 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,9 +1,8 @@ - "From\0Douglas Gilbert <dgilbert-qazKcTl6WRFWk0Htik3J/w@public.gmane.org>\0" + "From\0dgilbert@interlog.com (Douglas Gilbert)\0" "Subject\0[PATCH] at91: i2c-at91: improve time-out handling\0" "Date\0Thu, 01 Jan 2015 13:02:13 -0500\0" - "To\0linux-arm-kernel <linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>" - " Linux I2C <linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>\0" - "\01:1\0" + "To\0linux-arm-kernel@lists.infradead.org\0" + "\00:1\0" "b\0" "With lk 3.19.0-rc2 and a at91sam9g25 (9x5) based system I\n" "connected a NXP SC16IS750 I2C to serial bridge. After\n" @@ -31,41 +30,13 @@ " and restore some registers, including the interrupt\n" " mask\n" "\n" - Signed-off-by: Douglas Gilbert <dgilbert-qazKcTl6WRFWk0Htik3J/w@public.gmane.org> - "\01:2\0" - "fn\0i2c-at91-timeout1.patch\0" - "b\0" - "diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c\n" - "index 636fd2e..4d78708 100644\n" - "--- a/drivers/i2c/busses/i2c-at91.c\n" - "+++ b/drivers/i2c/busses/i2c-at91.c\n" - "@@ -382,6 +382,7 @@ static int at91_do_twi_transfer(struct at91_twi_dev *dev)\n" - " {\n" - " \tint ret;\n" - " \tbool has_unre_flag = dev->pdata->has_unre_flag;\n" - "+\tbool timed_out = false;\n" - " \n" - " \tdev_dbg(dev->dev, \"transfer: %s %d bytes.\\n\",\n" - " \t\t(dev->msg->flags & I2C_M_RD) ? \"read\" : \"write\", dev->buf_len);\n" - "@@ -440,7 +441,7 @@ static int at91_do_twi_transfer(struct at91_twi_dev *dev)\n" - " \t\t\t\t\t dev->adapter.timeout);\n" - " \tif (ret == 0) {\n" - " \t\tdev_err(dev->dev, \"controller timed out\\n\");\n" - "-\t\tat91_init_twi_bus(dev);\n" - "+\t\ttimed_out = true;\n" - " \t\tret = -ETIMEDOUT;\n" - " \t\tgoto error;\n" - " \t}\n" - "@@ -471,6 +472,11 @@ static int at91_do_twi_transfer(struct at91_twi_dev *dev)\n" - " \n" - " error:\n" - " \tat91_twi_dma_cleanup(dev);\n" - "+\tif (timed_out) {\n" - "+\t\tat91_twi_irq_save(dev);\n" - "+\t\tat91_init_twi_bus(dev);\n" - "+\t\tat91_twi_irq_restore(dev);\n" - "+\t}\n" - " \treturn ret;\n" - } + "Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>\n" + "-------------- next part --------------\n" + "A non-text attachment was scrubbed...\n" + "Name: i2c-at91-timeout1.patch\n" + "Type: text/x-patch\n" + "Size: 972 bytes\n" + "Desc: not available\n" + URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150101/fd42e097/attachment.bin> -9144eaf80854fe29142ca12fde32fcb79a5c4ad6e2066723f37b34df35e32dd2 +31918b0c4140b57b29be80c8a23be1f73aeec5fe958ee6b0e113305043129cc4
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.