diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index e51fb7cb7728..d0943415aeff 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c @@ -466,6 +466,9 @@ static const struct team_mode *team_mode_get(const char *kind) struct team_mode_item *mitem; const struct team_mode *mode = NULL; + if (!try_module_get(THIS_MODULE)) + return NULL; + spin_lock(&mode_list_lock); mitem = __find_mode(kind); if (!mitem) { @@ -481,6 +484,7 @@ static const struct team_mode *team_mode_get(const char *kind) } spin_unlock(&mode_list_lock); + module_put(THIS_MODULE); return mode; }