File tree 1 file changed +2
-1
lines changed
1 file changed +2
-1
lines changed Original file line number Diff line number Diff line change @@ -2348,6 +2348,7 @@ static int allocate_mr_list(struct smbd_connection *info)
2348
2348
atomic_set (& info -> mr_ready_count , 0 );
2349
2349
atomic_set (& info -> mr_used_count , 0 );
2350
2350
init_waitqueue_head (& info -> wait_for_mr_cleanup );
2351
+ INIT_WORK (& info -> mr_recovery_work , smbd_mr_recovery_work );
2351
2352
/* Allocate more MRs (2x) than hardware responder_resources */
2352
2353
for (i = 0 ; i < info -> responder_resources * 2 ; i ++ ) {
2353
2354
smbdirect_mr = kzalloc (sizeof (* smbdirect_mr ), GFP_KERNEL );
@@ -2376,13 +2377,13 @@ static int allocate_mr_list(struct smbd_connection *info)
2376
2377
list_add_tail (& smbdirect_mr -> list , & info -> mr_list );
2377
2378
atomic_inc (& info -> mr_ready_count );
2378
2379
}
2379
- INIT_WORK (& info -> mr_recovery_work , smbd_mr_recovery_work );
2380
2380
return 0 ;
2381
2381
2382
2382
out :
2383
2383
kfree (smbdirect_mr );
2384
2384
2385
2385
list_for_each_entry_safe (smbdirect_mr , tmp , & info -> mr_list , list ) {
2386
+ list_del (& smbdirect_mr -> list );
2386
2387
ib_dereg_mr (smbdirect_mr -> mr );
2387
2388
kfree (smbdirect_mr -> sgl );
2388
2389
kfree (smbdirect_mr );
You can’t perform that action at this time.
0 commit comments