2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 06:34:11 +08:00
linux-next/drivers/infiniband
Somnath Kotur 74828b1281 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>
2017-09-22 13:57:33 -04:00
..
core IB/core: Fix for core panic 2017-09-22 11:52:09 -04:00
hw bnxt_re: Remove RTNL lock dependency in bnxt_re_query_port 2017-09-22 13:57:33 -04:00
sw IB/rxe: Handle NETDEV_CHANGE events 2017-08-28 19:12:36 -04:00
ulp IB/ipoib: Suppress the retry related completion errors 2017-09-22 13:12:36 -04:00
Kconfig IB/core: Expose ioctl interface through experimental Kconfig 2017-08-31 08:35:14 -04:00
Makefile IB/rdmavt: Create module framework and handle driver registration 2016-03-10 20:37:04 -05:00