File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -1237,8 +1237,17 @@ static int fjes_probe(struct platform_device *plat_dev)
1237
1237
adapter -> open_guard = false;
1238
1238
1239
1239
adapter -> txrx_wq = alloc_workqueue (DRV_NAME "/txrx" , WQ_MEM_RECLAIM , 0 );
1240
+ if (unlikely (!adapter -> txrx_wq )) {
1241
+ err = - ENOMEM ;
1242
+ goto err_free_netdev ;
1243
+ }
1244
+
1240
1245
adapter -> control_wq = alloc_workqueue (DRV_NAME "/control" ,
1241
1246
WQ_MEM_RECLAIM , 0 );
1247
+ if (unlikely (!adapter -> control_wq )) {
1248
+ err = - ENOMEM ;
1249
+ goto err_free_txrx_wq ;
1250
+ }
1242
1251
1243
1252
INIT_WORK (& adapter -> tx_stall_task , fjes_tx_stall_task );
1244
1253
INIT_WORK (& adapter -> raise_intr_rxdata_task ,
@@ -1255,7 +1264,7 @@ static int fjes_probe(struct platform_device *plat_dev)
1255
1264
hw -> hw_res .irq = platform_get_irq (plat_dev , 0 );
1256
1265
err = fjes_hw_init (& adapter -> hw );
1257
1266
if (err )
1258
- goto err_free_netdev ;
1267
+ goto err_free_control_wq ;
1259
1268
1260
1269
/* setup MAC address (02:00:00:00:00:[epid])*/
1261
1270
netdev -> dev_addr [0 ] = 2 ;
@@ -1277,6 +1286,10 @@ static int fjes_probe(struct platform_device *plat_dev)
1277
1286
1278
1287
err_hw_exit :
1279
1288
fjes_hw_exit (& adapter -> hw );
1289
+ err_free_control_wq :
1290
+ destroy_workqueue (adapter -> control_wq );
1291
+ err_free_txrx_wq :
1292
+ destroy_workqueue (adapter -> txrx_wq );
1280
1293
err_free_netdev :
1281
1294
free_netdev (netdev );
1282
1295
err_out :
You can’t perform that action at this time.
0 commit comments