Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 153e3876 authored by Stefan Hajnoczi's avatar Stefan Hajnoczi Committed by Greg Kroah-Hartman
Browse files

staging: line6: eliminate useless index_out variable



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: default avatarStefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: default avatarMarkus Grabner <grabner@icg.tugraz.at>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 2f637ee4
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -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).
	*/
+1 −4
Original line number Diff line number Diff line
@@ -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 =