From df11f999725ec0dc18a0e5125d6e2e0b9fe311d6 Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin <6576495+widgetii@users.noreply.github.com> Date: Sat, 12 Sep 2026 07:17:50 +0300 Subject: [PATCH] hisilicon-opensdk: bump to b922e19, so the watchdog can reset the board OpenIPC/openhisilicon#223. The watchdog driver did not honour the Linux watchdog API in six ways, and the one that matters most here is #1803: release() handed the device back to the driver's own kernel feeder, so the moment majestic died and the kernel closed its descriptor, the driver went on feeding the dog for the rest of the board's life. Nothing ever reset. The only workaround was nodeamon=1, which removes the feeder altogether and with it the cover between module load and the first open. Also: the margin meant twice what was asked for; a ping was ignored for half of every cycle; open() did not start the timer, so the device went inert after any deliberate stop while still looking healthy; a reopen ran at the counter maximum rather than the margin the caller had set; and an rmmod racing an open could wedge the board in D state past a clean reboot. hi3516cv300 gains a watchdog it never had. Its driver had no module entry point at all, so hi3516cv300_wdt.ko loaded, did nothing, and the board came up with no /dev/watchdog -- majestic logged "Watchdog device (/dev/watchdog) not found" and every cv300 ran unguarded. Measured on four lab cameras, both binding styles: a process that dies without writing "V" now resets the board one margin later and it comes back; GETTIMELEFT reads 299 of 300; the magic close works; a clean majestic stop still resets nothing; and majestic feeding at its own cadence soaks past the margin without a reboot. Worth knowing before this ships: a cv300 whose majestic wedges will now reboot where it previously sat there unguarded. That is the fix, but it is a behaviour change in the field. --- general/package/hisilicon-opensdk/hisilicon-opensdk.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/general/package/hisilicon-opensdk/hisilicon-opensdk.mk b/general/package/hisilicon-opensdk/hisilicon-opensdk.mk index a18f3b4214..c671a2c52d 100644 --- a/general/package/hisilicon-opensdk/hisilicon-opensdk.mk +++ b/general/package/hisilicon-opensdk/hisilicon-opensdk.mk @@ -5,7 +5,7 @@ ################################################################################ HISILICON_OPENSDK_SITE = $(call github,openipc,openhisilicon,$(HISILICON_OPENSDK_VERSION)) -HISILICON_OPENSDK_VERSION = 916e7677546120a275cad09a578df35f419293be +HISILICON_OPENSDK_VERSION = b922e1999dceb43c1a949d8d76a5110176d8c57a HISILICON_OPENSDK_LICENSE = GPL-3.0 HISILICON_OPENSDK_LICENSE_FILES = LICENSE