| From 1d68064a7d80da4a7334cab0356162e36229c1a1 Mon Sep 17 00:00:00 2001 |
| From: Andiry Xu <andiry.xu@amd.com> |
| Date: Fri, 12 Mar 2010 17:10:04 +0800 |
| Subject: USB: xHCI: re-initialize cmd_completion |
| |
| From: Andiry Xu <andiry.xu@amd.com> |
| |
| commit 1d68064a7d80da4a7334cab0356162e36229c1a1 upstream. |
| |
| When a signal interrupts a Configure Endpoint command, the cmd_completion used |
| in xhci_configure_endpoint() is not re-initialized and the |
| wait_for_completion_interruptible_timeout() will return failure. Initialize |
| cmd_completion in xhci_configure_endpoint(). |
| |
| Signed-off-by: Andiry Xu <andiry.xu@amd.com> |
| Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/host/xhci-hcd.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/usb/host/xhci-hcd.c |
| +++ b/drivers/usb/host/xhci-hcd.c |
| @@ -1173,6 +1173,7 @@ static int xhci_configure_endpoint(struc |
| cmd_completion = &virt_dev->cmd_completion; |
| cmd_status = &virt_dev->cmd_status; |
| } |
| + init_completion(cmd_completion); |
| |
| if (!ctx_change) |
| ret = xhci_queue_configure_endpoint(xhci, in_ctx->dma, |