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); |
