Since implicit_fb is not changed, !implicit_fb will always be true - it is set only after these checks. Similarly, there's also no need to set it at the top of the function.
Change the type of implicit_fb to bool (more appropriate).
Signed-off-by: Eldad Zack eldad@fogrefinery.com
--- v2: implicit_fb type set to bool --- sound/usb/pcm.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index c31dbdc..bb2e0f5 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -405,7 +405,7 @@ static int set_sync_endpoint(struct snd_usb_substream *subs, { int is_playback = subs->direction == SNDRV_PCM_STREAM_PLAYBACK; unsigned int ep, attr; - int implicit_fb = 0; + bool implicit_fb; int err;
/* we need a sync pipe in async OUT or adaptive IN mode */ @@ -432,8 +432,7 @@ static int set_sync_endpoint(struct snd_usb_substream *subs, the audio fields in the endpoint descriptors */ if ((get_endpoint(alts, 1)->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_ISOC || (get_endpoint(alts, 1)->bLength >= USB_DT_ENDPOINT_AUDIO_SIZE && - get_endpoint(alts, 1)->bSynchAddress != 0 && - !implicit_fb)) { + get_endpoint(alts, 1)->bSynchAddress != 0)) { snd_printk(KERN_ERR "%d:%d:%d : invalid sync pipe. bmAttributes %02x, bLength %d, bSynchAddress %02x\n", dev->devnum, fmt->iface, fmt->altsetting, get_endpoint(alts, 1)->bmAttributes, @@ -442,8 +441,7 @@ static int set_sync_endpoint(struct snd_usb_substream *subs, return -EINVAL; } ep = get_endpoint(alts, 1)->bEndpointAddress; - if (!implicit_fb && - get_endpoint(alts, 0)->bLength >= USB_DT_ENDPOINT_AUDIO_SIZE && + if (get_endpoint(alts, 0)->bLength >= USB_DT_ENDPOINT_AUDIO_SIZE && ((is_playback && ep != (unsigned int)(get_endpoint(alts, 0)->bSynchAddress | USB_DIR_IN)) || (!is_playback && ep != (unsigned int)(get_endpoint(alts, 0)->bSynchAddress & ~USB_DIR_IN)))) { snd_printk(KERN_ERR "%d:%d:%d : invalid sync pipe. is_playback %d, ep %02x, bSynchAddress %02x\n",