bus: fsl-mc-msi: Allocate MSI device data on first use
Allocate the MSI device data on first invocation of the allocation function. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Link: https://lore.kernel.org/r/20211210221813.867985931@linutronix.de
This commit is contained in:
parent
077aeadb6c
commit
86ca622628
@ -253,6 +253,14 @@ int fsl_mc_msi_domain_alloc_irqs(struct device *dev,
|
||||
struct irq_domain *msi_domain;
|
||||
int error;
|
||||
|
||||
msi_domain = dev_get_msi_domain(dev);
|
||||
if (!msi_domain)
|
||||
return -EINVAL;
|
||||
|
||||
error = msi_setup_device_data(dev);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
if (!list_empty(dev_to_msi_list(dev)))
|
||||
return -EINVAL;
|
||||
|
||||
@ -260,12 +268,6 @@ int fsl_mc_msi_domain_alloc_irqs(struct device *dev,
|
||||
if (error < 0)
|
||||
return error;
|
||||
|
||||
msi_domain = dev_get_msi_domain(dev);
|
||||
if (!msi_domain) {
|
||||
error = -EINVAL;
|
||||
goto cleanup_msi_descs;
|
||||
}
|
||||
|
||||
/*
|
||||
* NOTE: Calling this function will trigger the invocation of the
|
||||
* its_fsl_mc_msi_prepare() callback
|
||||
|
Loading…
Reference in New Issue
Block a user