Chris Packham
a74c313aca
i2c: mpc: Use atomic read and fix break condition
...
Maxime points out that the polling code in mpc_i2c_isr should use the
_atomic API because it is called in an irq context and that the
behaviour of the MCF bit is that it is 1 when the byte transfer is
complete. All of this means the original code was effectively a
udelay(100).
Fix this by using readb_poll_timeout_atomic() and removing the negation
of the break condition.
Fixes: 4a8ac5e45cda ("i2c: mpc: Poll for MCF")
Reported-by: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Tested-by: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2021-12-10 22:27:30 +01:00
..
2019-06-19 17:09:55 +02:00
2020-07-04 08:25:13 +02:00
2021-07-02 09:14:46 +02:00
2021-05-27 21:29:26 +02:00
2021-06-03 22:25:24 +02:00
2019-05-30 11:26:37 -07:00
2019-05-30 11:26:37 -07:00
2021-04-15 22:24:11 +02:00
2021-10-02 09:48:53 +02:00
2021-11-07 14:57:41 +01:00
2021-02-01 23:01:50 +01:00
2021-05-27 21:44:19 +02:00
2021-08-11 15:54:01 +02:00
2021-08-11 15:12:18 +02:00
2019-03-24 22:41:51 +01:00
2020-11-03 21:34:40 +01:00
2019-05-30 11:26:37 -07:00
2020-04-18 23:42:14 +02:00
2020-09-18 23:02:03 +02:00
2021-08-10 22:40:55 +02:00
2021-09-29 23:05:05 +02:00
2021-04-08 23:12:38 +02:00
2021-08-25 23:07:05 +02:00
2021-11-29 09:52:10 +01:00
2021-06-20 22:47:24 +02:00
2021-06-20 23:13:34 +02:00
2020-09-27 15:14:16 +02:00
2020-01-31 09:01:25 +01:00
2021-06-23 18:23:55 +02:00
2020-03-21 19:53:08 +01:00
2021-08-11 16:43:25 +02:00
2021-08-11 16:43:32 +02:00
2021-05-27 21:32:12 +02:00
2021-04-08 22:47:48 +02:00
2021-08-11 16:43:25 +02:00
2020-11-06 16:02:00 +01:00
2021-02-12 08:21:57 +01:00
2020-03-24 22:36:59 +01:00
2019-06-05 17:37:10 +02:00
2021-05-27 21:33:10 +02:00
2021-02-22 09:02:24 -08:00
2021-04-14 10:20:00 +02:00
2021-04-06 22:32:33 +02:00
2020-07-24 21:31:33 +02:00
2021-01-05 17:30:45 +01:00
2021-08-03 22:48:39 +02:00
2021-04-10 21:54:05 +02:00
2021-08-19 19:18:24 +02:00
2019-05-30 11:26:37 -07:00
2021-11-23 10:43:50 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2021-05-25 21:21:32 +02:00
2021-04-14 09:49:06 +02:00
2021-04-14 09:49:09 +02:00
2021-08-11 15:15:30 +02:00
2021-08-19 19:18:17 +02:00
2019-07-15 21:10:39 -07:00
2019-05-30 11:26:41 -07:00
2021-10-02 09:48:53 +02:00
2021-04-30 13:01:02 -07:00
2021-09-29 23:07:02 +02:00
2020-04-18 23:42:14 +02:00
2020-10-08 11:57:23 +02:00
2021-04-14 10:20:45 +02:00
2021-10-11 12:32:00 +02:00
2021-12-10 22:27:30 +01:00
2021-10-11 12:40:05 +02:00
2020-03-24 22:36:59 +01:00
2021-04-15 22:13:19 +02:00
2021-08-11 15:16:01 +02:00
2019-05-30 11:26:37 -07:00
2019-05-30 11:26:37 -07:00
2021-05-27 21:27:48 +02:00
2020-09-27 20:05:27 +02:00
2021-04-10 21:43:01 +02:00
2021-05-27 21:33:41 +02:00
2021-01-17 12:26:55 +01:00
2020-04-15 12:09:09 +02:00
2021-04-14 09:49:17 +02:00
2020-08-23 17:36:59 -05:00
2020-12-09 21:23:21 +01:00
2021-08-10 23:07:37 +02:00
2021-10-11 11:45:56 +02:00
2021-10-11 11:45:56 +02:00
2021-10-11 11:45:56 +02:00
2021-10-11 11:45:48 +02:00
2021-01-26 07:42:27 +01:00
2020-12-02 21:29:31 +01:00
2020-07-04 08:25:13 +02:00
2021-05-27 21:34:08 +02:00
2021-03-18 11:59:57 +01:00
2019-06-19 17:09:10 +02:00
2021-10-02 09:32:06 +02:00
2021-05-25 21:14:04 +02:00
2021-06-04 22:32:58 +02:00
2021-10-29 21:57:33 +02:00
2021-09-29 23:02:59 +02:00
2021-06-20 22:40:44 +02:00
2021-11-30 22:38:15 +01:00
2021-06-24 22:08:00 +02:00
2021-08-19 19:18:24 +02:00
2021-03-18 12:11:45 +01:00
2021-04-17 22:00:58 +02:00
2021-08-11 15:22:24 +02:00
2020-07-04 08:25:13 +02:00
2019-06-19 17:09:07 +02:00
2019-05-30 11:26:37 -07:00
2019-05-30 11:26:37 -07:00
2019-05-30 11:26:37 -07:00
2021-04-14 09:49:20 +02:00
2021-05-27 21:39:35 +02:00
2020-09-21 11:45:43 +02:00
2019-08-14 14:56:54 +02:00
2021-05-27 21:39:57 +02:00
2021-11-30 10:22:14 +01:00
2021-08-17 21:37:40 +02:00
2021-08-17 21:41:32 +02:00
2020-01-15 20:39:41 +01:00
2021-06-03 22:31:42 +02:00
2021-10-29 21:51:31 +02:00
2020-03-24 22:36:59 +01:00
2020-01-06 15:40:43 +01:00
2020-04-18 23:42:14 +02:00
2020-04-18 23:42:14 +02:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:37 -07:00
2020-07-23 22:04:08 +02:00
2019-05-30 11:26:32 -07:00
2021-12-09 09:49:58 +01:00
2020-03-24 22:36:59 +01:00
2021-11-06 22:09:37 +01:00
2021-09-14 12:22:54 +02:00
2021-08-25 23:04:17 +02:00
2021-10-29 22:04:35 +02:00
2021-10-11 11:45:48 +02:00
2021-10-11 11:45:48 +02:00
2020-07-23 22:04:08 +02:00