hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/sound/soc/codecs/da7219-aad.c
....@@ -347,11 +347,15 @@
347347 struct da7219_priv *da7219 = snd_soc_component_get_drvdata(component);
348348 u8 events[DA7219_AAD_IRQ_REG_MAX];
349349 u8 statusa;
350
- int i, report = 0, mask = 0;
350
+ int i, ret, report = 0, mask = 0;
351351
352352 /* Read current IRQ events */
353
- regmap_bulk_read(da7219->regmap, DA7219_ACCDET_IRQ_EVENT_A,
354
- events, DA7219_AAD_IRQ_REG_MAX);
353
+ ret = regmap_bulk_read(da7219->regmap, DA7219_ACCDET_IRQ_EVENT_A,
354
+ events, DA7219_AAD_IRQ_REG_MAX);
355
+ if (ret) {
356
+ dev_warn_ratelimited(component->dev, "Failed to read IRQ events: %d\n", ret);
357
+ return IRQ_NONE;
358
+ }
355359
356360 if (!events[DA7219_AAD_IRQ_REG_A] && !events[DA7219_AAD_IRQ_REG_B])
357361 return IRQ_NONE;
....@@ -854,6 +858,8 @@
854858 }
855859 }
856860 }
861
+
862
+ synchronize_irq(da7219_aad->irq);
857863 }
858864
859865 void da7219_aad_resume(struct snd_soc_component *component)