In case we fail to allocate a transfer_buffer then we
break the buffers creation loop and update the number of
buffers to the number of successfully allocated which should
be 'i' and not 'i - 1' nor 'i + 1'
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
        usb_free_urb(dev->isoc_ctl.urb[i]);
        dev->isoc_ctl.urb[i] = NULL;
 
-       stk1160_warn("%d urbs allocated. Trying to continue...\n", i - 1);
+       stk1160_warn("%d urbs allocated. Trying to continue...\n", i);
 
-       dev->isoc_ctl.num_bufs = i - 1;
+       dev->isoc_ctl.num_bufs = i;
 
        return 0;
 
 free_i_bufs:
        /* Save the allocated buffers so far, so we can properly free them */
-       dev->isoc_ctl.num_bufs = i+1;
+       dev->isoc_ctl.num_bufs = i;
        stk1160_free_isoc(dev);
        return -ENOMEM;
 }