Re: [PATCH] i2c-designware: fix RX FIFO overrun

From: Josef Ahmad
Date: Tue Apr 23 2013 - 13:45:04 EST


> On Mon, Apr 22, 2013 at 03:08:59PM +0100, Josef Ahmad wrote:
>> From a969728248c3b439dc97a69e7dac133b5efa34e7 Mon Sep 17 00:00:00 2001
>> From: Josef Ahmad <josef.ahmad@xxxxxxxxxxxxxxx>
>> Date: Fri, 19 Apr 2013 17:28:10 +0100
>> Subject: [PATCH] i2c-designware: fix RX FIFO overrun
>>
>> i2c_dw_xfer_msg() pushes a number of bytes to transmit/receive
>> to/from the bus into the TX FIFO.
>> For master-rx transactions, the maximum amount of data that can be
>> received is calculated depending solely on TX and RX FIFO load.
>>
>> This is racy - TX FIFO may contain master-rx data yet to be
>> processed, which will eventually land into the RX FIFO. This
>> data is not taken into account and the function may request more
>> data than the controller is actually capable of storing.
>>
>> This patch ensures the driver takes into account the outstanding
>> master-rx data in TX FIFO to prevent RX FIFO overrun.
>>
>> Signed-off-by: Josef Ahmad <josef.ahmad@xxxxxxxxxxxxxxx>
>> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
>
> This driver had a major cleanup meanwhile. Could you rebase your patch
> on top of my for-next branch? I guess this version should make it into
> stable?
>

Hi Wolfram

This patch applies just fine on top of your i2c-embedded/for-next branch.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/