xhci: don't kick in xhci_submit and xhci_fire_ctl_transfer
xhci_submit and xhci_fire_ctl_transfer are is called from xhci_kick_epctx processing loop only, so there is no need to call xhci_kick_epctx make sure processing continues. Also eecursive calls into xhci_kick_epctx can cause trouble. Drop the xhci_kick_epctx calls. Cc: 1653384@bugs.launchpad.net Fixes: 94b037f2a451b3dc855f9f2c346e5049a361bd55 Reported-by: Fabian Lesniak <fabian@lesniak-it.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 1485790607-31399-4-git-send-email-kraxel@redhat.com
This commit is contained in:
		
							parent
							
								
									13e8ff7abb
								
							
						
					
					
						commit
						ddb603ab6c
					
				| @ -2001,11 +2001,7 @@ static int xhci_fire_ctl_transfer(XHCIState *xhci, XHCITransfer *xfer) | ||||
|     xfer->packet.parameter = trb_setup->parameter; | ||||
| 
 | ||||
|     usb_handle_packet(xfer->packet.ep->dev, &xfer->packet); | ||||
| 
 | ||||
|     xhci_try_complete_packet(xfer); | ||||
|     if (!xfer->running_async && !xfer->running_retry) { | ||||
|         xhci_kick_epctx(xfer->epctx, 0); | ||||
|     } | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| @ -2105,11 +2101,7 @@ static int xhci_submit(XHCIState *xhci, XHCITransfer *xfer, XHCIEPContext *epctx | ||||
|         return -1; | ||||
|     } | ||||
|     usb_handle_packet(xfer->packet.ep->dev, &xfer->packet); | ||||
| 
 | ||||
|     xhci_try_complete_packet(xfer); | ||||
|     if (!xfer->running_async && !xfer->running_retry) { | ||||
|         xhci_kick_epctx(xfer->epctx, xfer->streamid); | ||||
|     } | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Gerd Hoffmann
						Gerd Hoffmann