diff --git a/drivers/staging/greybus/audio_codec.c b/drivers/staging/greybus/audio_codec.c index 25b1042d3c776ed308b0fada7f6c14708f508210..d820116dd1961ee47c3e59d407c95e4c14a2a5be 100644 --- a/drivers/staging/greybus/audio_codec.c +++ b/drivers/staging/greybus/audio_codec.c @@ -362,6 +362,10 @@ static int gbcodec_trigger(struct snd_pcm_substream *substream, int cmd, dev_err(dai->dev, "%d:Error during %s stream\n", ret, start ? "Start" : "Stop"); + /* in case device removed, return 0 for stop trigger */ + if (stop && (ret == -ENODEV)) + ret = 0; + func_exit: mutex_unlock(&gb->lock); return ret;