]> git.itanic.dy.fi Git - linux-stable/commit
thunderbolt: Clear registers properly when auto clear isn't in use
authorMario Limonciello <mario.limonciello@amd.com>
Mon, 24 Apr 2023 19:55:54 +0000 (14:55 -0500)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 9 May 2023 06:39:03 +0000 (09:39 +0300)
commitc4af8e3fecd03b0aedcd38145955605cfebe7e3a
tree6bd7da3a64f693d52d49f5033fd26f181f94aadd
parentac9a78681b921877518763ba0e89202254349d1b
thunderbolt: Clear registers properly when auto clear isn't in use

When `QUIRK_AUTO_CLEAR_INT` isn't set, interrupt masking should be
cleared by writing to Interrupt Mask Clear (IMR) and interrupt
status should be cleared properly at shutdown/init.

This fixes an error where interrupts are left enabled during resume
from hibernation with `CONFIG_USB4=y`.

Fixes: 468c49f44759 ("thunderbolt: Disable interrupt auto clear for rings")
Cc: stable@vger.kernel.org # v6.3
Reported-by: Takashi Iwai <tiwai@suse.de>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217343
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/nhi.c
drivers/thunderbolt/nhi_regs.h