ASoC: da7219: Check for failure reading AAD IRQ events
authorDmytro Maluka <dmy@semihalf.com>
Mon, 17 Jul 2023 19:37:37 +0000 (21:37 +0200)
committerMark Brown <broonie@kernel.org>
Sun, 23 Jul 2023 22:40:00 +0000 (23:40 +0100)
commitf0691dc16206f21b13c464434366e2cd632b8ed7
treeb69471a8ec08baa664d82b6e48b77052c3abdac9
parent91e292917dad64ab8d1d5ca2ab3069ad9dac6f72
ASoC: da7219: Check for failure reading AAD IRQ events

When handling an AAD interrupt, if IRQ events read failed (for example,
due to i2c "Transfer while suspended" failure, i.e. when attempting to
read it while DA7219 is suspended, which may happen due to a spurious
AAD interrupt), the events array contains garbage uninitialized values.
So instead of trying to interprete those values and doing any actions
based on them (potentially resulting in misbehavior, e.g. reporting
bogus events), refuse to handle the interrupt.

Signed-off-by: Dmytro Maluka <dmy@semihalf.com>
Link: https://lore.kernel.org/r/20230717193737.161784-3-dmy@semihalf.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/da7219-aad.c