On Mon, Feb 20 2023 at 17:11, Russell King wrote: > On Fri, Nov 25, 2022 at 12:25:59AM +0100, Thomas Gleixner wrote: > Hi Thomas, > > This patch appears to cause a regression on Macchiatobin, delaying the > boot by about ten seconds due to all the warnings the kernel now > produces. > >> @@ -136,11 +149,16 @@ static bool msi_desc_match(struct msi_de >> >> static bool msi_ctrl_valid(struct device *dev, struct msi_ctrl *ctrl) >> { >> + unsigned int hwsize; >> + >> if (WARN_ON_ONCE(ctrl->domid >= MSI_MAX_DEVICE_IRQDOMAINS || >> - !dev->msi.data->__domains[ctrl->domid].domain || >> - ctrl->first > ctrl->last || >> - ctrl->first > MSI_MAX_INDEX || >> - ctrl->last > MSI_MAX_INDEX)) >> + !dev->msi.data->__domains[ctrl->domid].domain)) >> + return false; >> + >> + hwsize = msi_domain_get_hwsize(dev, ctrl->domid); > > This calls msi_get_device_domain() without taking dev->msi.data->mutex, > resulting in the lockdep_assert_held() firing for what seems to be every > MSI created by the Armada 8040 ICU driver, which suggests something isn't > taking the lock as you expect. Please can you take a look and propose a > patch to fix this regression. Groan. I'll have a look.