On Thu, 12 Dec 2024 22:00:00 +0800 Hui Wang <hui.wang@xxxxxxxxxxxxx> wrote: > > On 12/12/24 21:44, Greg KH wrote: > > On Wed, Dec 11, 2024 at 12:25:39PM +0800, Hui Wang wrote: > >> Recently we found the fifo_read() and fifo_write() are broken in our > >> 5.15 kernel after rebase to the latest 5.15.y, the 5.15.y integrated > >> the commit e635f652696e ("serial: sc16is7xx: convert from _raw_ to > >> _noinc_ regmap functions for FIFO"), but it forgot to integrate a > >> prerequisite commit 3837a0379533 ("serial: sc16is7xx: improve regmap > >> debugfs by using one regmap per port"). > >> > >> And about the prerequisite commit, there are also 4 commits to fix it, > >> So in total, I backported 5 patches to 5.15.y to fix this regression. > >> > >> 0002-xxx and 0004-xxx could be cleanly applied to 5.15.y, the remaining > >> 3 patches need to resolve some conflict. > >> > >> Hugo Villeneuve (5): > >> serial: sc16is7xx: improve regmap debugfs by using one regmap per port > >> serial: sc16is7xx: remove wasteful static buffer in > >> sc16is7xx_regmap_name() > >> serial: sc16is7xx: remove global regmap from struct sc16is7xx_port > >> serial: sc16is7xx: remove unused line structure member > >> serial: sc16is7xx: change EFR lock to operate on each channels > >> > >> drivers/tty/serial/sc16is7xx.c | 185 +++++++++++++++++++-------------- > >> 1 file changed, 107 insertions(+), 78 deletions(-) > > How well did you test this series? It seems you forgot about commit > > 133f4c00b8b2 ("serial: sc16is7xx: fix TX fifo corruption"), right? > > > > Please do better testing and resend a working set of patches. > > Okay, got it. Hi Hui / Greg, I am testing these changes on my RS-485 board, and I found out that this patch is required: commit b4a778303ea0 ("serial: sc16is7xx: add missing support for rs485 devicetree properties") With it, it now works (basic loopback test) on 5.15 branch and with my hardware. As per Greg's suggestion, I have also tested (and reworked) commit 133f4c00b8b2 ("serial: sc16is7xx: fix TX fifo corruption"), with a prerequisite patch for it to apply more easily: 53a8c50802745 ("serial: sc16is7xx: refactor FIFO access functions to increase commonality"). And finally I have added commit c41698d1a04cb ("serial: sc16is7xx: fix invalid FIFO access with special register set"). I will submit these 4 patches to stable soon. -- Hugo Villeneuve