®, sizeof(reg), 0);
 }
 
-static void release_resources(struct snd_tscm *tscm)
-{
-       // Release isochronous resources.
-       fw_iso_resources_free(&tscm->tx_resources);
-       fw_iso_resources_free(&tscm->rx_resources);
-}
-
 static int keep_resources(struct snd_tscm *tscm, unsigned int rate,
                          struct amdtp_stream *stream)
 {
                amdtp_stream_stop(&tscm->rx_stream);
                amdtp_stream_stop(&tscm->tx_stream);
 
-               release_resources(tscm);
+               fw_iso_resources_free(&tscm->tx_resources);
+               fw_iso_resources_free(&tscm->rx_resources);
        }
 
        if (!amdtp_stream_running(&tscm->rx_stream)) {
        amdtp_stream_stop(&tscm->tx_stream);
 
        finish_session(tscm);
-       release_resources(tscm);
+
+       fw_iso_resources_free(&tscm->tx_resources);
+       fw_iso_resources_free(&tscm->rx_resources);
 
        return err;
 }
        amdtp_stream_stop(&tscm->rx_stream);
 
        finish_session(tscm);
-       release_resources(tscm);
+
+       fw_iso_resources_free(&tscm->tx_resources);
+       fw_iso_resources_free(&tscm->rx_resources);
 }
 
 void snd_tscm_stream_lock_changed(struct snd_tscm *tscm)