File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed
drivers/net/ethernet/renesas Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -3208,10 +3208,15 @@ static int ravb_suspend(struct device *dev)
3208
3208
3209
3209
netif_device_detach (ndev );
3210
3210
3211
- if (priv -> wol_enabled )
3212
- return ravb_wol_setup (ndev );
3211
+ rtnl_lock ();
3212
+ if (priv -> wol_enabled ) {
3213
+ ret = ravb_wol_setup (ndev );
3214
+ rtnl_unlock ();
3215
+ return ret ;
3216
+ }
3213
3217
3214
3218
ret = ravb_close (ndev );
3219
+ rtnl_unlock ();
3215
3220
if (ret )
3216
3221
return ret ;
3217
3222
@@ -3236,19 +3241,20 @@ static int ravb_resume(struct device *dev)
3236
3241
if (!netif_running (ndev ))
3237
3242
return 0 ;
3238
3243
3244
+ rtnl_lock ();
3239
3245
/* If WoL is enabled restore the interface. */
3240
- if (priv -> wol_enabled ) {
3246
+ if (priv -> wol_enabled )
3241
3247
ret = ravb_wol_restore (ndev );
3242
- if (ret )
3243
- return ret ;
3244
- } else {
3248
+ else
3245
3249
ret = pm_runtime_force_resume (dev );
3246
- if (ret )
3247
- return ret ;
3250
+ if (ret ) {
3251
+ rtnl_unlock ();
3252
+ return ret ;
3248
3253
}
3249
3254
3250
3255
/* Reopening the interface will restore the device to the working state. */
3251
3256
ret = ravb_open (ndev );
3257
+ rtnl_unlock ();
3252
3258
if (ret < 0 )
3253
3259
goto out_rpm_put ;
3254
3260
You can’t perform that action at this time.
0 commit comments