Message ID | 1478311649-22027-2-git-send-email-caoj.fnst@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/05/2016 04:07 AM, Cao jin wrote: > CC: Markus Armbruster <armbru@redhat.com> > CC: Marcel Apfelbaum <marcel@redhat.com> > CC: Michael S. Tsirkin <mst@redhat.com> > > Reviewed-by: Markus Armbruster <armbru@redhat.com> > Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com> > --- > hw/pci/msix.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/hw/pci/msix.c b/hw/pci/msix.c > index 0ec1cb1..0cee631 100644 > --- a/hw/pci/msix.c > +++ b/hw/pci/msix.c > @@ -447,8 +447,10 @@ void msix_notify(PCIDevice *dev, unsigned vector) > { > MSIMessage msg; > > - if (vector >= dev->msix_entries_nr || !dev->msix_entry_used[vector]) > + if (vector >= dev->msix_entries_nr || !dev->msix_entry_used[vector]) { > return; > + } > + > if (msix_is_masked(dev, vector)) { > msix_set_pending(dev, vector); > return; > @@ -483,8 +485,10 @@ void msix_reset(PCIDevice *dev) > /* Mark vector as used. */ > int msix_vector_use(PCIDevice *dev, unsigned vector) > { > - if (vector >= dev->msix_entries_nr) > + if (vector >= dev->msix_entries_nr) { > return -EINVAL; > + } > + > dev->msix_entry_used[vector]++; > return 0; > } > Reviewed-by: Marcel Apfelbaum <marcel@redhat.com> Thanks, Marcel
diff --git a/hw/pci/msix.c b/hw/pci/msix.c index 0ec1cb1..0cee631 100644 --- a/hw/pci/msix.c +++ b/hw/pci/msix.c @@ -447,8 +447,10 @@ void msix_notify(PCIDevice *dev, unsigned vector) { MSIMessage msg; - if (vector >= dev->msix_entries_nr || !dev->msix_entry_used[vector]) + if (vector >= dev->msix_entries_nr || !dev->msix_entry_used[vector]) { return; + } + if (msix_is_masked(dev, vector)) { msix_set_pending(dev, vector); return; @@ -483,8 +485,10 @@ void msix_reset(PCIDevice *dev) /* Mark vector as used. */ int msix_vector_use(PCIDevice *dev, unsigned vector) { - if (vector >= dev->msix_entries_nr) + if (vector >= dev->msix_entries_nr) { return -EINVAL; + } + dev->msix_entry_used[vector]++; return 0; }