From: Alexander Egorenkov Date: Fri, 27 Jan 2023 13:52:42 +0000 (+0100) Subject: watchdog: diag288_wdt: fix __diag288() inline assembly X-Git-Tag: baikal/aarch64/sdk6.1~87 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=3bc3f22db71e18267fa9aa85b41599a2c5b96c18;p=kernel.git watchdog: diag288_wdt: fix __diag288() inline assembly commit 32e40f9506b9e32917eb73154f93037b443124d1 upstream. The DIAG 288 statement consumes an EBCDIC string the address of which is passed in a register. Use a "memory" clobber to tell the compiler that memory is accessed within the inline assembly. Signed-off-by: Alexander Egorenkov Reviewed-by: Heiko Carstens Cc: Signed-off-by: Heiko Carstens Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/watchdog/diag288_wdt.c b/drivers/watchdog/diag288_wdt.c index 2112eef699697..6ca5d9515d85c 100644 --- a/drivers/watchdog/diag288_wdt.c +++ b/drivers/watchdog/diag288_wdt.c @@ -86,7 +86,7 @@ static int __diag288(unsigned int func, unsigned int timeout, "1:\n" EX_TABLE(0b, 1b) : "+d" (err) : "d"(__func), "d"(__timeout), - "d"(__action), "d"(__len) : "1", "cc"); + "d"(__action), "d"(__len) : "1", "cc", "memory"); return err; }