OSDN Git Service

ASoC: wsa881x: Update device state during device probe
authorSudheer Papothi <spapothi@codeaurora.org>
Tue, 20 Sep 2016 18:48:42 +0000 (00:18 +0530)
committerGerrit - the friendly Code Review server <code-review@localhost>
Fri, 23 Sep 2016 18:11:25 +0000 (11:11 -0700)
Device state is updated incorrectly during codec probe when
the wsa881x soundwire slave device is in suspend state, resulting
in register read/write failures. Update the device state during
device probe instead of codec probe.

Change-Id: I46afe2a08495c2ed06806b0568b1c44a6ffd947f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
sound/soc/codecs/wsa881x.c

index b97b73d..46a073b 100644 (file)
@@ -1043,7 +1043,6 @@ static int wsa881x_probe(struct snd_soc_codec *codec)
                "%s.%x", "wsatz", (u8)dev->addr);
        wsa881x->bg_cnt = 0;
        wsa881x->clk_cnt = 0;
-       wsa881x->state = WSA881X_DEV_UP;
        wsa881x->tz_pdata.codec = codec;
        wsa881x->tz_pdata.wsa_temp_reg_read = wsa881x_temp_reg_read;
        wsa881x_init_thermal(&wsa881x->tz_pdata);
@@ -1229,6 +1228,7 @@ static int wsa881x_swr_probe(struct swr_device *pdev)
                        goto err;
        }
        wsa881x_gpio_ctrl(wsa881x, true);
+       wsa881x->state = WSA881X_DEV_UP;
 
        if (!debugfs_wsa881x_dent) {
                dbgwsa881x = wsa881x;