diff options
author | Somnath Kotur <somnath.kotur@broadcom.com> | 2017-08-31 09:27:33 +0530 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-09-22 13:57:33 -0400 |
commit | 74828b128115033ff25d4140d732a05a36eaeaf0 (patch) | |
tree | 42e7744de7c5bfb584cee46d2078214c5c264cdd /lib/mpi/mpi-inline.h | |
parent | d5917307bb1caa9cb0a915951c57f4cdbacca443 (diff) |
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 <somnath.kotur@broadcom.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'lib/mpi/mpi-inline.h')
0 files changed, 0 insertions, 0 deletions