Merge tag 'asoc-v5.3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[linux-2.6-block.git] / sound / firewire / oxfw / oxfw.c
index 9fd145cc4b07f00d206197ef11470f0ac48eb64d..fb6df3fc018edc27bf6964c57f67d761d6088f4f 100644 (file)
@@ -118,9 +118,7 @@ static void oxfw_card_free(struct snd_card *card)
 {
        struct snd_oxfw *oxfw = card->private_data;
 
-       snd_oxfw_stream_destroy_simplex(oxfw, &oxfw->rx_stream);
-       if (oxfw->has_output)
-               snd_oxfw_stream_destroy_simplex(oxfw, &oxfw->tx_stream);
+       snd_oxfw_stream_destroy_duplex(oxfw);
 }
 
 static int detect_quirks(struct snd_oxfw *oxfw)
@@ -208,14 +206,9 @@ static void do_registration(struct work_struct *work)
        if (err < 0)
                goto error;
 
-       err = snd_oxfw_stream_init_simplex(oxfw, &oxfw->rx_stream);
+       err = snd_oxfw_stream_init_duplex(oxfw);
        if (err < 0)
                goto error;
-       if (oxfw->has_output) {
-               err = snd_oxfw_stream_init_simplex(oxfw, &oxfw->tx_stream);
-               if (err < 0)
-                       goto error;
-       }
 
        err = snd_oxfw_create_pcm(oxfw);
        if (err < 0)
@@ -282,11 +275,7 @@ static void oxfw_bus_reset(struct fw_unit *unit)
 
        if (oxfw->registered) {
                mutex_lock(&oxfw->mutex);
-
-               snd_oxfw_stream_update_simplex(oxfw, &oxfw->rx_stream);
-               if (oxfw->has_output)
-                       snd_oxfw_stream_update_simplex(oxfw, &oxfw->tx_stream);
-
+               snd_oxfw_stream_update_duplex(oxfw);
                mutex_unlock(&oxfw->mutex);
 
                if (oxfw->entry->vendor_id == OUI_STANTON)