[PATCH] ALSA: usb-audio: endpoint : remove redundant check before usb_free_coherent()
usb_free_coherent() is safe with NULL addr and this check is not required.
Signed-off-by: Xu Wang vulab@iscas.ac.cn --- sound/usb/endpoint.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c index 8e568823c992..d5ed4ddfd451 100644 --- a/sound/usb/endpoint.c +++ b/sound/usb/endpoint.c @@ -82,10 +82,9 @@ static inline unsigned get_usb_high_speed_rate(unsigned int rate) */ static void release_urb_ctx(struct snd_urb_ctx *u) { - if (u->buffer_size) - usb_free_coherent(u->ep->chip->dev, u->buffer_size, - u->urb->transfer_buffer, - u->urb->transfer_dma); + usb_free_coherent(u->ep->chip->dev, u->buffer_size, + u->urb->transfer_buffer, + u->urb->transfer_dma); usb_free_urb(u->urb); u->urb = NULL; }
On Thu, 04 Feb 2021 03:05:18 +0100, Xu Wang wrote:
usb_free_coherent() is safe with NULL addr and this check is not required.
The check there isn't about NULL buffer or not; instead it checks whether the buffer was allocated for each or it shares the single buffer (for sync endpoints). In the latter case, your patch will lead to double-free.
thanks,
Takashi
participants (2)
-
Takashi Iwai
-
Xu Wang