watchdog: bcm2835: Ignore params after the partition number
authorTim Gover <tim.gover@raspberrypi.org>
Thu, 22 Oct 2020 14:30:55 +0000 (15:30 +0100)
committerpopcornmix <popcornmix@gmail.com>
Wed, 27 Jan 2021 19:13:23 +0000 (19:13 +0000)
Use sscanf to extract the partition number and ignore extra parameters
which are only relevant to other reboot notifiers.

drivers/watchdog/bcm2835_wdt.c

index 62937e6..de25e36 100644 (file)
@@ -126,10 +126,12 @@ static int bcm2835_restart(struct watchdog_device *wdog,
 {
        struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog);
 
-       unsigned long long val;
+       unsigned long val;
        u8 partition = 0;
 
-       if (data && !kstrtoull(data, 0, &val) && val <= 63)
+       // Allow extra arguments separated by spaces after
+       // the partition number.
+       if (data && sscanf(data, "%lu", &val) && val < 63)
                partition = val;
 
        __bcm2835_restart(wdt, partition);