From: Meng Li Meng.Li@windriver.com
commit 56d9e7bd3fa0f105b6670021d167744bc50ae4fe upstream.
When an IRQ occurs, regmap_{read,write,...}() is invoked in atomic context. Regmap must indicate register IO is fast so that a spinlock is used instead of a mutex to avoid sleeping in atomic context:
lock_acquire __mutex_lock mutex_lock_nested regmap_lock_mutex regmap_write a10_eccmgr_irq_unmask unmask_irq.part.0 irq_enable __irq_startup irq_startup __setup_irq request_threaded_irq devm_request_threaded_irq altr_sdram_probe
Mark it so.
[ bp: Massage. ]
Fixes: 3dab6bd52687 ("EDAC, altera: Add support for Stratix10 SDRAM EDAC") Reported-by: Meng Li Meng.Li@windriver.com Signed-off-by: Meng Li Meng.Li@windriver.com Signed-off-by: Thor Thayer thor.thayer@linux.intel.com Signed-off-by: Borislav Petkov bp@suse.de Cc: James Morse james.morse@arm.com Cc: linux-edac linux-edac@vger.kernel.org Cc: Mauro Carvalho Chehab mchehab@kernel.org Cc: Robert Richter rrichter@marvell.com Cc: stable stable@vger.kernel.org Cc: Tony Luck tony.luck@intel.com Link: https://lkml.kernel.org/r/1574361048-17572-2-git-send-email-thor.thayer@linu... Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- drivers/edac/altera_edac.c | 1 + 1 file changed, 1 insertion(+)
--- a/drivers/edac/altera_edac.c +++ b/drivers/edac/altera_edac.c @@ -560,6 +560,7 @@ static const struct regmap_config s10_sd .reg_write = s10_protected_reg_write, .use_single_read = true, .use_single_write = true, + .fast_io = true, };
/************** </Stratix10 EDAC Memory Controller Functions> ***********/