net/mlx5_core: Fix async commands return code
authorEli Cohen <eli@mellanox.com>
Fri, 25 Sep 2015 07:49:12 +0000 (10:49 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Sep 2015 05:19:49 +0000 (22:19 -0700)
In case of async command completion, the error code returned should take
into account the command completion status.

Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/cmd.c

index 75ff58dc1ff5f9d9af725f7e5e3285e338b1be8c..c3516598de9eca61e798e10d650387385b98600c 100644 (file)
@@ -1136,6 +1136,7 @@ void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, unsigned long vector)
                                mlx5_free_cmd_msg(dev, ent->out);
                                free_msg(dev, ent->in);
 
+                               err = err ? err : ent->status;
                                free_cmd(ent);
                                callback(err, context);
                        } else {