ath6kl: Return error case when ath6kl_usb_alloc_pipe_resources fails
authorMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Thu, 27 Sep 2012 12:49:49 +0000 (18:19 +0530)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 24 Oct 2012 08:49:56 +0000 (11:49 +0300)
Incase the resource allocation for the struct ath6kl_urb_context in the
function ath6kl_usb_alloc_pipe_resources fails, return this error
case so that ath6kl_usb_probe is aware of this error case.

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/usb.c

index a6d1377..2014fac 100644 (file)
@@ -185,9 +185,10 @@ static int ath6kl_usb_alloc_pipe_resources(struct ath6kl_usb_pipe *pipe,
        for (i = 0; i < urb_cnt; i++) {
                urb_context = kzalloc(sizeof(struct ath6kl_urb_context),
                                      GFP_KERNEL);
-               if (urb_context == NULL)
-                       /* FIXME: set status to -ENOMEM */
-                       break;
+               if (urb_context == NULL) {
+                       status = -ENOMEM;
+                       goto fail_alloc_pipe_resources;
+               }
 
                urb_context->pipe = pipe;
 
@@ -204,6 +205,7 @@ static int ath6kl_usb_alloc_pipe_resources(struct ath6kl_usb_pipe *pipe,
                   pipe->logical_pipe_num, pipe->usb_pipe_handle,
                   pipe->urb_alloc);
 
+fail_alloc_pipe_resources:
        return status;
 }