]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
serial: sc16is7xx: declare SPR/TLR/XOFF2 register as volatile
authorHugo Villeneuve <hvilleneuve@dimonoff.com>
Mon, 27 Oct 2025 14:29:49 +0000 (10:29 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Oct 2025 14:25:41 +0000 (15:25 +0100)
SPR shares the same address space as TLR and XOFF2. If SPR or TLR were to
be used eventually, this could lead to incorrect read value from the cache.

Prevent this potential bug by declaring SPR/TLR/XOFF2 as volatile.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Link: https://patch.msgid.link/20251027142957.1032073-8-hugo@hugovil.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sc16is7xx.c

index ce2a0967ffdf41d3b93263627d24c427fcbba095..281cbb2274e500b32bd0ae88d73d70ad1e322a52 100644 (file)
@@ -546,6 +546,7 @@ static bool sc16is7xx_regmap_volatile(struct device *dev, unsigned int reg)
        case SC16IS7XX_IIR_REG:
        case SC16IS7XX_LSR_REG:
        case SC16IS7XX_MSR_REG:
+       case SC16IS7XX_SPR_REG: /* Shared address space with TLR & XOFF2 */
        case SC16IS7XX_TXLVL_REG:
        case SC16IS7XX_RXLVL_REG:
        case SC16IS7XX_IOSTATE_REG: