aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/host/xhci-mem.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index 711dc554e716..9034721106d7 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -779,14 +779,17 @@ struct xhci_command *xhci_alloc_command(struct xhci_hcd *xhci,
779 779
780 command->in_ctx = 780 command->in_ctx =
781 xhci_alloc_container_ctx(xhci, XHCI_CTX_TYPE_INPUT, mem_flags); 781 xhci_alloc_container_ctx(xhci, XHCI_CTX_TYPE_INPUT, mem_flags);
782 if (!command->in_ctx) 782 if (!command->in_ctx) {
783 kfree(command);
783 return NULL; 784 return NULL;
785 }
784 786
785 if (allocate_completion) { 787 if (allocate_completion) {
786 command->completion = 788 command->completion =
787 kzalloc(sizeof(struct completion), mem_flags); 789 kzalloc(sizeof(struct completion), mem_flags);
788 if (!command->completion) { 790 if (!command->completion) {
789 xhci_free_container_ctx(xhci, command->in_ctx); 791 xhci_free_container_ctx(xhci, command->in_ctx);
792 kfree(command);
790 return NULL; 793 return NULL;
791 } 794 }
792 init_completion(command->completion); 795 init_completion(command->completion);