xen/pass-through: fold host PCI command register writes
The code introduced to address XSA-126 allows simplification of other code in xen_pt_initfn(): All we need to do is update "cmd" suitably, as it'll be written back to the host register near the end of the function anyway. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
		
							parent
							
								
									00967f4e0b
								
							
						
					
					
						commit
						950fe0aa3f
					
				@ -740,10 +740,7 @@ static int xen_pt_initfn(PCIDevice *d)
 | 
				
			|||||||
                   machine_irq, pirq, rc);
 | 
					                   machine_irq, pirq, rc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* Disable PCI intx assertion (turn on bit10 of devctl) */
 | 
					        /* Disable PCI intx assertion (turn on bit10 of devctl) */
 | 
				
			||||||
        xen_host_pci_set_word(&s->real_device,
 | 
					        cmd |= PCI_COMMAND_INTX_DISABLE;
 | 
				
			||||||
                              PCI_COMMAND,
 | 
					 | 
				
			||||||
                              pci_get_word(s->dev.config + PCI_COMMAND)
 | 
					 | 
				
			||||||
                              | PCI_COMMAND_INTX_DISABLE);
 | 
					 | 
				
			||||||
        machine_irq = 0;
 | 
					        machine_irq = 0;
 | 
				
			||||||
        s->machine_irq = 0;
 | 
					        s->machine_irq = 0;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
@ -765,9 +762,7 @@ static int xen_pt_initfn(PCIDevice *d)
 | 
				
			|||||||
                       e_intx, rc);
 | 
					                       e_intx, rc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* Disable PCI intx assertion (turn on bit10 of devctl) */
 | 
					            /* Disable PCI intx assertion (turn on bit10 of devctl) */
 | 
				
			||||||
            xen_host_pci_set_word(&s->real_device, PCI_COMMAND,
 | 
					            cmd |= PCI_COMMAND_INTX_DISABLE;
 | 
				
			||||||
                                  *(uint16_t *)(&s->dev.config[PCI_COMMAND])
 | 
					 | 
				
			||||||
                                  | PCI_COMMAND_INTX_DISABLE);
 | 
					 | 
				
			||||||
            xen_pt_mapped_machine_irq[machine_irq]--;
 | 
					            xen_pt_mapped_machine_irq[machine_irq]--;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (xen_pt_mapped_machine_irq[machine_irq] == 0) {
 | 
					            if (xen_pt_mapped_machine_irq[machine_irq] == 0) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user