> @@ -331,8 +339,10 @@ static int mca_be_prepare(struct snd_pcm_substream *substream, > */ > if (!mca_fe_clocks_in_use(fe_cl)) { > ret = mca_fe_enable_clocks(fe_cl); > - if (ret < 0) > + if (ret < 0) { > + mutex_unlock(&mca->port_mutex); > return ret; > + } > } Stray unlock here -- Martin