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)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:33:06 +0000 (11:33 +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 1931c80..2ce96ba 100644 (file)
@@ -127,10 +127,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);