diff options
author | Dotan Barak <dotanb@dev.mellanox.co.il> | 2012-10-21 10:59:23 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-10-23 12:03:37 -0400 |
commit | 41929ed2656bab8af1734bf5d0088385e72e294f (patch) | |
tree | 014c8f50383a1ccffdfb1d387aa1666727304252 /drivers/net | |
parent | 3cf164c8dee834cef9dac4e7325f89a207339ac8 (diff) |
mlx4_core: Perform correct resource cleanup if mlx4_QUERY_ADAPTER() fails
Fixed the resource cleanup to act correctly and prevent a kernel oops when
mlx4_QUERY_ADAPTER() fails.
Signed-off-by: Dotan Barak <dotanb@dev.mellanox.co.il>
Reviewed-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c index 80df2ab0177c..2aa80afd98d2 100644 --- a/drivers/net/ethernet/mellanox/mlx4/main.c +++ b/drivers/net/ethernet/mellanox/mlx4/main.c | |||
@@ -1405,7 +1405,10 @@ unmap_bf: | |||
1405 | unmap_bf_area(dev); | 1405 | unmap_bf_area(dev); |
1406 | 1406 | ||
1407 | err_close: | 1407 | err_close: |
1408 | mlx4_close_hca(dev); | 1408 | if (mlx4_is_slave(dev)) |
1409 | mlx4_slave_exit(dev); | ||
1410 | else | ||
1411 | mlx4_CLOSE_HCA(dev, 0); | ||
1409 | 1412 | ||
1410 | err_free_icm: | 1413 | err_free_icm: |
1411 | if (!mlx4_is_slave(dev)) | 1414 | if (!mlx4_is_slave(dev)) |