[tip:,irq/core] irqchip/irq-mvebu-icu: Fix works by chance pointer assignment

Message ID 167032787659.4906.13112643126419077191.tip-bot2@tip-bot2
State New
Headers
Series [tip:,irq/core] irqchip/irq-mvebu-icu: Fix works by chance pointer assignment |

Commit Message

tip-bot2 for Thomas Gleixner Dec. 6, 2022, 11:57 a.m. UTC
  The following commit has been merged into the irq/core branch of tip:

Commit-ID:     55721afa8d8b82e442cb4eaf7173330f79cbfb48
Gitweb:        https://git.kernel.org/tip/55721afa8d8b82e442cb4eaf7173330f79cbfb48
Author:        Thomas Gleixner <tglx@linutronix.de>
AuthorDate:    Mon, 21 Nov 2022 15:39:29 +01:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Tue, 06 Dec 2022 12:50:17 +01:00

irqchip/irq-mvebu-icu: Fix works by chance pointer assignment

Assigning a void pointer which points to a struct to two different data
types only works by chance if the second type is the first member of the
struct.

Replace this works by chance code by using the primary struct pointer.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221121140048.344525618@linutronix.de

---
 drivers/irqchip/irq-mvebu-icu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Patch

diff --git a/drivers/irqchip/irq-mvebu-icu.c b/drivers/irqchip/irq-mvebu-icu.c
index 497da34..3c77acc 100644
--- a/drivers/irqchip/irq-mvebu-icu.c
+++ b/drivers/irqchip/irq-mvebu-icu.c
@@ -151,9 +151,9 @@  static int
 mvebu_icu_irq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec,
 			       unsigned long *hwirq, unsigned int *type)
 {
-	struct mvebu_icu_msi_data *msi_data = platform_msi_get_host_data(d);
-	struct mvebu_icu *icu = platform_msi_get_host_data(d);
 	unsigned int param_count = static_branch_unlikely(&legacy_bindings) ? 3 : 2;
+	struct mvebu_icu_msi_data *msi_data = platform_msi_get_host_data(d);
+	struct mvebu_icu *icu = msi_data->icu;
 
 	/* Check the count of the parameters in dt */
 	if (WARN_ON(fwspec->param_count != param_count)) {