net/mlx5e: Support the flash device ethtool callback
authorOr Gerlitz <ogerlitz@mellanox.com>
Tue, 18 Apr 2017 14:48:46 +0000 (17:48 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 22 Jun 2017 11:30:13 +0000 (14:30 +0300)
commit3ffaabecd1a1a014a484f293c311b8ecb0545541
tree676b3e56b4ceafd42937f3fd26717f8d1a6ef66f
parent62bd22cf326dc4ac5be673c11cef4602dc1f5e47
net/mlx5e: Support the flash device ethtool callback

This callback further invokes the mlxfw module to flash the new
firmware file to the device.

As the firmware flash process takes about 20 seconds and ethtool
takes the rtnl lock during the flash_device callback, we release
the rtnl lock at the beginning of the flash process and take it
again before leaving the callback.

This way, rtnl is not held during the process. To make sure the
device does not get deleted while being flashed, we take a
reference to it before releasing rtnl lock.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Yotam Gigi <yotamg@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en.h
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c