net: sxgbe: fix return value of __setup handler
authorRandy Dunlap <rdunlap@infradead.org>
Thu, 24 Feb 2022 03:35:28 +0000 (19:35 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Mar 2022 18:12:46 +0000 (19:12 +0100)
commit 50e06ddceeea263f57fe92baa677c638ecd65bb6 upstream.

__setup() handlers should return 1 on success, i.e., the parameter
has been handled. A return of 0 causes the "option=value" string to be
added to init's environment strings, polluting it.

Fixes: acc18c147b22 ("net: sxgbe: add EEE(Energy Efficient Ethernet) for Samsung sxgbe")
Fixes: 1edb9ca69e8a ("net: sxgbe: add basic framework for Samsung 10Gb ethernet driver")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru>
Link: lore.kernel.org/r/64644a2f-4a20-bab3-1e15-3b2cdd0defe3@omprussia.ru
Cc: Siva Reddy <siva.kallam@samsung.com>
Cc: Girish K S <ks.giri@samsung.com>
Cc: Byungho An <bh74.an@samsung.com>
Link: https://lore.kernel.org/r/20220224033528.24640-1-rdunlap@infradead.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c

index 6781aa6..1b415fe 100644 (file)
@@ -2282,18 +2282,18 @@ static int __init sxgbe_cmdline_opt(char *str)
        char *opt;
 
        if (!str || !*str)
-               return -EINVAL;
+               return 1;
        while ((opt = strsep(&str, ",")) != NULL) {
                if (!strncmp(opt, "eee_timer:", 10)) {
                        if (kstrtoint(opt + 10, 0, &eee_timer))
                                goto err;
                }
        }
-       return 0;
+       return 1;
 
 err:
        pr_err("%s: ERROR broken module parameter conversion\n", __func__);
-       return -EINVAL;
+       return 1;
 }
 
 __setup("sxgbeeth=", sxgbe_cmdline_opt);