Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6937c947 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Bail out of wm_hubs DC servo if calibration fails



We're keeping track of the number of times we've iterated but never
actually using this to bail out if the chip looks stuck.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent fdb6b1e1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ static void wait_for_dc_servo(struct snd_soc_codec *codec)
		msleep(1);
		reg = snd_soc_read(codec, WM8993_DC_SERVO_READBACK_0);
		dev_dbg(codec->dev, "DC servo: %x\n", reg);
	} while (reg & WM8993_DCS_DATAPATH_BUSY);
	} while (reg & WM8993_DCS_DATAPATH_BUSY && count < 400);

	if (reg & WM8993_DCS_DATAPATH_BUSY)
		dev_err(codec->dev, "Timed out waiting for DC Servo\n");