Skip to content

Commit

Permalink
[ALSA] usb-audio - sanity-check sync feedback frequency values
Browse files Browse the repository at this point in the history
USB generic driver
Check that the synchronization feedback frequency values returned by the
device are more or less near the nominal frequency.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
  • Loading branch information
Clemens Ladisch authored and Jaroslav Kysela committed May 29, 2005
1 parent 7291548 commit 50cdbf1
Showing 1 changed file with 9 additions and 13 deletions.
22 changes: 9 additions & 13 deletions sound/usb/usbaudio.c
Original file line number Diff line number Diff line change
Expand Up @@ -452,17 +452,11 @@ static int retire_playback_sync_urb(snd_usb_substream_t *subs,
if (urb->iso_frame_desc[0].status == 0 &&
urb->iso_frame_desc[0].actual_length == 3) {
f = combine_triple((u8*)urb->transfer_buffer) << 2;
#if 0
if (f < subs->freqn - (subs->freqn>>3) || f > subs->freqmax) {
snd_printd(KERN_WARNING "requested frequency %d (%u,%03uHz) out of range (current nominal %d (%u,%03uHz))\n",
f, f >> 14, (f & ((1 << 14) - 1) * 1000) / ((1 << 14) - 1),
subs->freqn, subs->freqn >> 14, (subs->freqn & ((1 << 14) - 1) * 1000) / ((1 << 14) - 1));
continue;
if (f >= subs->freqn - subs->freqn / 8 && f <= subs->freqmax) {
spin_lock_irqsave(&subs->lock, flags);
subs->freqm = f;
spin_unlock_irqrestore(&subs->lock, flags);
}
#endif
spin_lock_irqsave(&subs->lock, flags);
subs->freqm = f;
spin_unlock_irqrestore(&subs->lock, flags);
}

return 0;
Expand All @@ -484,9 +478,11 @@ static int retire_playback_sync_urb_hs(snd_usb_substream_t *subs,
if (urb->iso_frame_desc[0].status == 0 &&
urb->iso_frame_desc[0].actual_length == 4) {
f = combine_quad((u8*)urb->transfer_buffer) & 0x0fffffff;
spin_lock_irqsave(&subs->lock, flags);
subs->freqm = f;
spin_unlock_irqrestore(&subs->lock, flags);
if (f >= subs->freqn - subs->freqn / 8 && f <= subs->freqmax) {
spin_lock_irqsave(&subs->lock, flags);
subs->freqm = f;
spin_unlock_irqrestore(&subs->lock, flags);
}
}

return 0;
Expand Down

0 comments on commit 50cdbf1

Please sign in to comment.