net/mlx4_core: Fix mem leak in SRIOV mlx4_init_one error flow
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Tue, 27 Jan 2015 13:58:01 +0000 (15:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Jan 2015 01:12:57 +0000 (17:12 -0800)
Structs allocated for the resource tracker must be freed in
the error flow.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/main.c

index 51d5550bc17a918701ab3ebd622104b7fbaae336..cc9f484392446e74543ded5a5626e40f518f1367 100644 (file)
@@ -2979,8 +2979,10 @@ err_free_eq:
        mlx4_free_eq_table(dev);
 
 err_master_mfunc:
-       if (mlx4_is_master(dev))
+       if (mlx4_is_master(dev)) {
+               mlx4_free_resource_tracker(dev, RES_TR_FREE_STRUCTS_ONLY);
                mlx4_multi_func_cleanup(dev);
+       }
 
        if (mlx4_is_slave(dev)) {
                kfree(dev->caps.qp0_qkey);