net/mlx4_core: Manage interface state for Reset flow cases
authorYishai Hadas <yishaih@mellanox.com>
Sun, 25 Jan 2015 14:59:40 +0000 (16:59 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 25 Jan 2015 22:43:14 +0000 (14:43 -0800)
commitc69453e294c9f16da977b68e658a8028b854c209
tree31d0d1363f6fdcad81c6de6eec722d657ae486a3
parentf5aef5aa35063f2b45c3605871cd525d0cb7fb7a
net/mlx4_core: Manage interface state for Reset flow cases

We need to manage interface state to sync between reset flow and some other
relative cases such as remove_one. This has to be done to prevent certain
races. For example in case software stack is down as a result of unload call,
the remove_one should skip the unload phase.

Implement the remove_one case, handling AER and other cases comes next.

The interface can be up/down, upon remove_one, the state will include an extra
bit indicating that the device is cleaned-up, forcing other tasks to finish
before the final cleanup.

Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/catas.c
drivers/net/ethernet/mellanox/mlx4/intf.c
drivers/net/ethernet/mellanox/mlx4/main.c
include/linux/mlx4/device.h