Checks the index computed by the virq offset before printing the
error condition in cs35l45_spk_safe_err() handler.
Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
Signed-off-by: Vlad Karpovich <vkarpovi@opensource.cirrus.com>
Acked-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230831162042.471801-1-vkarpovi@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
 
        i = irq - regmap_irq_get_virq(cs35l45->irq_data, 0);
 
-       dev_err(cs35l45->dev, "%s condition detected!\n", cs35l45_irqs[i].name);
+       if (i < 0 || i >= ARRAY_SIZE(cs35l45_irqs))
+               dev_err(cs35l45->dev, "Unspecified global error condition (%d) detected!\n", irq);
+       else
+               dev_err(cs35l45->dev, "%s condition detected!\n", cs35l45_irqs[i].name);
 
        return IRQ_HANDLED;
 }