diff options
-rw-r--r-- | drivers/usb/host/xhci-mem.c | 5 |
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); |