media: usb: airspy: clean the freed pointer and counter
authorNil Yi <teroincn@163.com>
Sun, 15 Aug 2021 09:49:23 +0000 (11:49 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 30 Sep 2021 08:07:54 +0000 (10:07 +0200)
After urb was freed, the pointer and counter need to be
cleaned.

Signed-off-by: Nil Yi <teroincn@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/usb/airspy/airspy.c

index 7a81be7..d568452 100644 (file)
@@ -415,8 +415,11 @@ static int airspy_alloc_urbs(struct airspy *s)
                dev_dbg(s->dev, "alloc urb=%d\n", i);
                s->urb_list[i] = usb_alloc_urb(0, GFP_ATOMIC);
                if (!s->urb_list[i]) {
-                       for (j = 0; j < i; j++)
+                       for (j = 0; j < i; j++) {
                                usb_free_urb(s->urb_list[j]);
+                               s->urb_list[j] = NULL;
+                       }
+                       s->urbs_initialized = 0;
                        return -ENOMEM;
                }
                usb_fill_bulk_urb(s->urb_list[i],