Commit 86ca6226 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

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: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20211210221813.867985931@linutronix.de
parent 077aeadb
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -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