kernel/drivers/staging/rtl8712/xmit_linux.c
.. .. @@ -119,6 +119,12 @@ 119 119 for (i = 0; i < 8; i++) { 120 120 pxmitbuf->pxmit_urb[i] = usb_alloc_urb(0, GFP_KERNEL); 121 121 if (!pxmitbuf->pxmit_urb[i]) { 122 + int k;123 +124 + for (k = i - 1; k >= 0; k--) {125 + /* handle allocation errors part way through loop */126 + usb_free_urb(pxmitbuf->pxmit_urb[k]);127 + }122 128 netdev_err(padapter->pnetdev, "pxmitbuf->pxmit_urb[i] == NULL\n"); 123 129 return -ENOMEM; 124 130 }