hc
2024-05-10 748e4f3d702def1a4bff191e0cf93b6a05340f01
kernel/net/smc/smc_core.c
....@@ -912,7 +912,7 @@
912912 if (lgr->terminating)
913913 return; /* lgr already terminating */
914914 /* cancel free_work sync, will terminate when lgr->freeing is set */
915
- cancel_delayed_work_sync(&lgr->free_work);
915
+ cancel_delayed_work(&lgr->free_work);
916916 lgr->terminating = 1;
917917
918918 /* kill remaining link group connections */
....@@ -1101,6 +1101,7 @@
11011101 {
11021102 struct smc_link_group *lgr, *n;
11031103
1104
+ spin_lock_bh(&smc_lgr_list.lock);
11041105 list_for_each_entry_safe(lgr, n, &smc_lgr_list.list, list) {
11051106 struct smc_link *link;
11061107
....@@ -1115,6 +1116,7 @@
11151116 if (link)
11161117 smc_llc_add_link_local(link);
11171118 }
1119
+ spin_unlock_bh(&smc_lgr_list.lock);
11181120 }
11191121
11201122 /* link is down - switch connections to alternate link,