On Tue, Dec 10, 2024 at 12:14:44PM +0000, Robin Murphy wrote: > On 2024-12-09 11:27 am, Sasha Levin wrote: > > This is a note to let you know that I've just added the patch titled > > > > iommu/arm-smmu: Defer probe of clients after smmu device bound > > > > to the 6.6-stable tree which can be found at: > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > > > The filename of the patch is: > > iommu-arm-smmu-defer-probe-of-clients-after-smmu-dev.patch > > and it can be found in the queue-6.6 subdirectory. > > > > If you, or anyone else, feels it should not be added to the stable tree, > > please let <stable@xxxxxxxxxxxxxxx> know about it. > > FWIW the correct resolution for cherry-picking this directly is the > logically-straightforward one, as below (git is mostly just confused by > the context) > > Cheers, > Robin. > > ----->8----- > diff --cc drivers/iommu/arm/arm-smmu/arm-smmu.c > index d6d1a2a55cc0,14618772a3d6..000000000000 > --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c > +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c > @@@ -1357,10 -1435,19 +1357,21 @@@ static struct iommu_device *arm_smmu_pr > fwspec = dev_iommu_fwspec_get(dev); > if (ret) > goto out_free; > - } else { > + } else if (fwspec && fwspec->ops == &arm_smmu_ops) { > smmu = arm_smmu_get_by_fwnode(fwspec->iommu_fwnode); > + > + /* > + * Defer probe if the relevant SMMU instance hasn't finished > + * probing yet. This is a fragile hack and we'd ideally > + * avoid this race in the core code. Until that's ironed > + * out, however, this is the most pragmatic option on the > + * table. > + */ > + if (!smmu) > + return ERR_PTR(dev_err_probe(dev, -EPROBE_DEFER, > + "smmu dev has not bound yet\n")); > + } else { > + return ERR_PTR(-ENODEV); > } > ret = -EINVAL;a Can you resend this in a patch that we can apply as-is? thanks, greg k-h