]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net/mlx4_core: unmap clear register in case of error flow
authorDotan Barak <dotanb@dev.mellanox.co.il>
Mon, 19 Nov 2012 10:52:44 +0000 (12:52 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 21:38:10 +0000 (14:38 -0700)
Clear interrupt clear register in case of error flows.

Signed-off-by: Dotan Barak <dotanb@dev.mellanox.co.il>
Reviewed-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
(Ported from Mellanox OFED 2.4)

Signed-off-by: Mukesh Kacker <mukesh.kacker@oracle.com>
drivers/net/ethernet/mellanox/mlx4/eq.c

index 2619c9fbf42dfb952473e4779a2ee8d6ebfd2c65..b4b68d715c328e186e8dbc38b0d6eed1761018e6 100644 (file)
@@ -1180,7 +1180,7 @@ int mlx4_init_eq_table(struct mlx4_dev *dev)
                        GFP_KERNEL);
        if (!priv->eq_table.irq_names) {
                err = -ENOMEM;
-               goto err_out_bitmap;
+               goto err_out_clr_int;
        }
 
        for (i = 0; i < dev->caps.num_comp_vectors; ++i) {
@@ -1280,9 +1280,11 @@ err_out_unmap:
                mlx4_free_eq(dev, &priv->eq_table.eq[i]);
                --i;
        }
+       mlx4_free_irqs(dev);
+
+err_out_clr_int:
        if (!mlx4_is_slave(dev))
                mlx4_unmap_clr_int(dev);
-       mlx4_free_irqs(dev);
 
 err_out_bitmap:
        mlx4_unmap_uar(dev);