> > Locking sequence of iw_cxgb4 and RoCE drivers in ib_register_device() is > slightly different and this leads to possible circular dependency locking > warning when both the devices are brought up. > > Here is the locking sequence upto ib_register_device(): > iw_cxgb4: rtnl_mutex(net stack) --> uld_mutex --> device_mutex > RoCE drivers: device_mutex --> rtnl_mutex > > Here is the possibility of cross locking: > > CPU #0 (iw_cxgb4) CPU #1 (RoCE drivers) > > -> on interface up cxgb4_up() > executed with rtnl_mutex held > -> hold uld_mutex and try > registering ib device > -> In ib_register_device() hold > device_mutex > -> hold device mutex in > ib_register_device > -> try acquiring rtnl_mutex in > ib_enum_roce_netdev() > > Current patch schedules the ib_register_device() functionality of > iw_cxgb4 to a workqueue to prevent the possible cross-locking. > Also rename the labels in c4iw_reister_device(). > > Signed-off-by: Potnuri Bharat Teja <bharat@xxxxxxxxxxx> Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html