staging: line6: eliminate useless index_out variable
authorStefan Hajnoczi <stefanha@gmail.com>
Sat, 10 Dec 2011 01:12:29 +0000 (02:12 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 10 Dec 2011 03:26:09 +0000 (19:26 -0800)
Playback urbs use the index_out counter to decide which part of the
playback buffer to use.  Since the urb already has a unique index in
range [0, LINE6_ISO_BUFFERS) there is no need to keep a separate
counter.

Use the urb index instead.  This also eliminates the possibility of two
urbs using the same playback buffer space if they ever complete
out-of-order for some reason.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/line6/pcm.h
drivers/staging/line6/playback.c

index 05f4ef3eced6401bbfe2b745e2ef4dae031e5580..55d8297dd3d9c5ff70572feb72e85e9a44b420d7 100644 (file)
@@ -145,11 +145,6 @@ struct snd_line6_pcm {
        */
        unsigned char *buffer_in;
 
-       /**
-                Temporary buffer index for playback.
-       */
-       int index_out;
-
        /**
                 Previously captured frame (for software monitoring).
        */
index b17c0a7708dddbae8e9a72387e982263f0d1b280..9a51b92c09485a06234eabe3cdf8c4352ad8740b 100644 (file)
@@ -192,13 +192,10 @@ static int submit_audio_out_urb(struct snd_line6_pcm *line6pcm)
        urb_frames = urb_size / bytes_per_frame;
        urb_out->transfer_buffer =
            line6pcm->buffer_out +
-           LINE6_ISO_PACKETS * line6pcm->max_packet_size * line6pcm->index_out;
+           index * LINE6_ISO_PACKETS * line6pcm->max_packet_size;
        urb_out->transfer_buffer_length = urb_size;
        urb_out->context = line6pcm;
 
-       if (++line6pcm->index_out == LINE6_ISO_BUFFERS)
-               line6pcm->index_out = 0;
-
        if (test_bit(BIT_PCM_ALSA_PLAYBACK, &line6pcm->flags) &&
            !test_bit(BIT_PAUSE_PLAYBACK, &line6pcm->flags)) {
                struct snd_pcm_runtime *runtime =
This page took 0.026353 seconds and 5 git commands to generate.