[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] vPCI/MSI-X: fold clearing of entry->updated
commit c58654c22ae0dc74c2613e5e1a922b2bbd217abb Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Thu Jan 7 15:03:17 2021 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Thu Jan 7 15:03:17 2021 +0100 vPCI/MSI-X: fold clearing of entry->updated Both call sites clear the flag after a successfull call to update_entry(). This can be simplified by moving the clearing into the function, onto its success path. As a result of neither caller caring about update_entry()'s return value anymore, the function gets switched to return void. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- xen/drivers/vpci/msix.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c index 846a048a4a..846f1b8d70 100644 --- a/xen/drivers/vpci/msix.c +++ b/xen/drivers/vpci/msix.c @@ -37,8 +37,8 @@ static uint32_t control_read(const struct pci_dev *pdev, unsigned int reg, (msix->masked ? PCI_MSIX_FLAGS_MASKALL : 0); } -static int update_entry(struct vpci_msix_entry *entry, - const struct pci_dev *pdev, unsigned int nr) +static void update_entry(struct vpci_msix_entry *entry, + const struct pci_dev *pdev, unsigned int nr) { int rc = vpci_msix_arch_disable_entry(entry, pdev); @@ -48,7 +48,7 @@ static int update_entry(struct vpci_msix_entry *entry, gprintk(XENLOG_WARNING, "%pp: unable to disable entry %u for update: %d\n", &pdev->sbdf, nr, rc); - return rc; + return; } rc = vpci_msix_arch_enable_entry(entry, pdev, @@ -59,10 +59,10 @@ static int update_entry(struct vpci_msix_entry *entry, gprintk(XENLOG_WARNING, "%pp: unable to enable entry %u: %d\n", &pdev->sbdf, nr, rc); /* Entry is likely not properly configured. */ - return rc; + return; } - return 0; + entry->updated = false; } static void control_write(const struct pci_dev *pdev, unsigned int reg, @@ -90,13 +90,8 @@ static void control_write(const struct pci_dev *pdev, unsigned int reg, if ( new_enabled && !new_masked && (!msix->enabled || msix->masked) ) { for ( i = 0; i < msix->max_entries; i++ ) - { - if ( msix->entries[i].masked || !msix->entries[i].updated || - update_entry(&msix->entries[i], pdev, i) ) - continue; - - msix->entries[i].updated = false; - } + if ( !msix->entries[i].masked && msix->entries[i].updated ) + update_entry(&msix->entries[i], pdev, i); } else if ( !new_enabled && msix->enabled ) { @@ -363,10 +358,7 @@ static int msix_write(struct vcpu *v, unsigned long addr, unsigned int len, * data fields Xen needs to disable and enable the entry in order * to pick up the changes. */ - if ( update_entry(entry, pdev, vmsix_entry_nr(msix, entry)) ) - break; - - entry->updated = false; + update_entry(entry, pdev, vmsix_entry_nr(msix, entry)); } else vpci_msix_arch_mask_entry(entry, pdev, entry->masked); -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |