File tree 1 file changed +4
-1
lines changed
drivers/net/ethernet/broadcom/bnxt 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -15002,15 +15002,17 @@ static void bnxt_fw_reset_task(struct work_struct *work)
15002
15002
bp -> fw_reset_state = BNXT_FW_RESET_STATE_OPENING ;
15003
15003
fallthrough ;
15004
15004
case BNXT_FW_RESET_STATE_OPENING :
15005
- while (!netdev_trylock ( bp -> dev )) {
15005
+ while (!rtnl_trylock ( )) {
15006
15006
bnxt_queue_fw_reset_work (bp , HZ / 10 );
15007
15007
return ;
15008
15008
}
15009
+ netdev_lock (bp -> dev );
15009
15010
rc = bnxt_open (bp -> dev );
15010
15011
if (rc ) {
15011
15012
netdev_err (bp -> dev , "bnxt_open() failed during FW reset\n" );
15012
15013
bnxt_fw_reset_abort (bp , rc );
15013
15014
netdev_unlock (bp -> dev );
15015
+ rtnl_unlock ();
15014
15016
goto ulp_start ;
15015
15017
}
15016
15018
@@ -15030,6 +15032,7 @@ static void bnxt_fw_reset_task(struct work_struct *work)
15030
15032
bnxt_dl_health_fw_status_update (bp , true);
15031
15033
}
15032
15034
netdev_unlock (bp -> dev );
15035
+ rtnl_unlock ();
15033
15036
bnxt_ulp_start (bp , 0 );
15034
15037
bnxt_reenable_sriov (bp );
15035
15038
netdev_lock (bp -> dev );
You can’t perform that action at this time.
0 commit comments