diff options
| author | Cy Schubert <cy@FreeBSD.org> | 2021-12-02 21:35:14 +0000 |
|---|---|---|
| committer | Cy Schubert <cy@FreeBSD.org> | 2021-12-02 21:35:14 +0000 |
| commit | 266f97b5e9a7958e365e78288616a459b40d924a (patch) | |
| tree | 47846fb735b2e0becce397e048f4a1d63f996a64 /sys/netinet/cc | |
| parent | a10253cffea84c0c980a36ba6776b00ed96c3e3b (diff) | |
| parent | 56f32b0e4cc24d58cae7613188c0b2dcf5ca4a94 (diff) | |
Diffstat (limited to 'sys/netinet/cc')
| -rw-r--r-- | sys/netinet/cc/cc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/netinet/cc/cc.c b/sys/netinet/cc/cc.c index bcda9276d4d9..b49e5940bc7e 100644 --- a/sys/netinet/cc/cc.c +++ b/sys/netinet/cc/cc.c @@ -246,13 +246,14 @@ cc_deregister_algo(struct cc_algo *remove_cc) STAILQ_FOREACH_SAFE(funcs, &cc_list, entries, tmpfuncs) { if (funcs == remove_cc) { if (cc_check_default(remove_cc)) { - CC_LIST_WUNLOCK(); - return(EBUSY); + err = EBUSY; + break; } + /* Add a temp flag to stop new adds to it */ + funcs->flags |= CC_MODULE_BEING_REMOVED; break; } } - remove_cc->flags |= CC_MODULE_BEING_REMOVED; CC_LIST_WUNLOCK(); err = tcp_ccalgounload(remove_cc); /* |
