xhci: flush endpoint context unconditinally
Not updating the endpoint context in case the state didn't change is wrong. Other context fields might have changed, for example the dequeue pointer in response to a CR_SET_TR_DEQUEUE command. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									79a8af3509
								
							
						
					
					
						commit
						3f973ee84e
					
				| 
						 | 
				
			
			@ -1009,9 +1009,6 @@ static void xhci_set_ep_state(XHCIState *xhci, XHCIEPContext *epctx,
 | 
			
		|||
                              uint32_t state)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t ctx[5];
 | 
			
		||||
    if (epctx->state == state) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pci_dma_read(&xhci->pci_dev, epctx->pctx, ctx, sizeof(ctx));
 | 
			
		||||
    ctx[0] &= ~EP_STATE_MASK;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue