aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/fpga/altera-fpga2sdram.c
diff options
context:
space:
mode:
authorSomnath Kotur <[email protected]>2017-08-31 03:57:33 +0000
committerDoug Ledford <[email protected]>2017-09-22 17:57:33 +0000
commit74828b128115033ff25d4140d732a05a36eaeaf0 (patch)
tree42e7744de7c5bfb584cee46d2078214c5c264cdd /drivers/fpga/altera-fpga2sdram.c
parentbnxt_re: Fix race between the netdev register and unregister events (diff)
downloadkernel-74828b128115033ff25d4140d732a05a36eaeaf0.tar.gz
kernel-74828b128115033ff25d4140d732a05a36eaeaf0.zip
bnxt_re: Remove RTNL lock dependency in bnxt_re_query_port
When there is a NETDEV_UNREGISTER event, bnxt_re driver calls ib_unregister_device() (RTNL lock held). ib_unregister_device attempts to flush a worker queue scheduled by ib_core and that queue might have a pending ib_query_port(). ib_query_port in turn calls bnxt_re_query_port(), which while querying the link speed using ib_get_eth_speed(), tries to acquire the rtnl_lock() which was already held by NETDEV_UNREGISTER. Fixing the issue by removing the link speed query from bnxt_re_query_port() Now the speed is queried post a successful ib_register_device or whenever there is a NETDEV_CHANGE event. Signed-off-by: Somnath Kotur <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
Diffstat (limited to 'drivers/fpga/altera-fpga2sdram.c')
0 files changed, 0 insertions, 0 deletions