Re: [PATCH] qemu-kvm: fix error handling in msix vector add

Marcelo Tosatti
2009-07-25T15:31:56Z

On Thu, Jul 23, 2009 at 04:34:13PM +0300, Michael S. Tsirkin wrote:
> When adding a vector fails, the used counter should
> not be incremented, otherwise on vector change we will
> try to update the routing entry.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

Applied, thanks.

> ---
> hw/msix.c | 10 ++++++++--
> 1 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/hw/msix.c b/hw/msix.c
> index 5f77dc9..47cbdc7 100644
> --- a/hw/msix.c
> +++ b/hw/msix.c
> @@ -502,13 +502,19 @@ void msix_reset(PCIDevice *dev)
> /* Mark vector as used. */
> int msix_vector_use(PCIDevice *dev, unsigned vector)
> {
> + int ret;
> if (vector >= dev->msix_entries_nr)
> return -EINVAL;
> - if (dev->msix_entry_used[vector]++)
> + if (dev->msix_entry_used[vector]) {
> return 0;
> + }
> if (kvm_enabled() && qemu_kvm_irqchip_in_kernel()) {
> - return kvm_msix_add(dev, vector);
> + ret = kvm_msix_add(dev, vector);
> + if (ret) {
> + return ret;
> + }
> }
> + ++dev->msix_entry_used[vector];
> return 0;
> }
>
> --
> 1.6.2.5
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html