summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2022-05-01 09:30:47 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2022-05-01 09:30:47 -0700
commitd4af0c17235fbf992f5023bbfb84303e082e45a6 (patch)
tree0e0d24dd50b5ad2e8be7929957f3291ddc1a001f
parent57ae8a492116910bad2b3497ffe555b3a4b4180f (diff)
parentc7d2f89fea26c84d5accc55d9976dd7e5305e63a (diff)
downloadlinux-d4af0c17235fbf992f5023bbfb84303e082e45a6.tar.bz2
Merge tag 'irq_urgent_for_v5.18_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fix from Borislav Petkov: - Fix locking when accessing device MSI descriptors * tag 'irq_urgent_for_v5.18_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: bus: fsl-mc-msi: Fix MSI descriptor mutex lock for msi_first_desc()
-rw-r--r--drivers/bus/fsl-mc/fsl-mc-msi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/bus/fsl-mc/fsl-mc-msi.c b/drivers/bus/fsl-mc/fsl-mc-msi.c
index 5e0e4393ce4d..0cfe859a4ac4 100644
--- a/drivers/bus/fsl-mc/fsl-mc-msi.c
+++ b/drivers/bus/fsl-mc/fsl-mc-msi.c
@@ -224,8 +224,12 @@ int fsl_mc_msi_domain_alloc_irqs(struct device *dev, unsigned int irq_count)
if (error)
return error;
+ msi_lock_descs(dev);
if (msi_first_desc(dev, MSI_DESC_ALL))
- return -EINVAL;
+ error = -EINVAL;
+ msi_unlock_descs(dev);
+ if (error)
+ return error;
/*
* NOTE: Calling this function will trigger the invocation of the