From: Greg Kroah-Hartman Date: Fri, 6 Aug 2021 06:33:38 +0000 (+0200) Subject: 4.19-stable patches X-Git-Tag: v4.4.279~15 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=75031305c93644250e4fbdcb4142deb6b57c2977;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: firmware-arm_scmi-ensure-drivers-provide-a-probe-function.patch revert-watchdog-itco_wdt-account-for-rebooting-on-second-timeout.patch --- diff --git a/queue-4.19/firmware-arm_scmi-ensure-drivers-provide-a-probe-function.patch b/queue-4.19/firmware-arm_scmi-ensure-drivers-provide-a-probe-function.patch new file mode 100644 index 00000000000..19c3cdfd13d --- /dev/null +++ b/queue-4.19/firmware-arm_scmi-ensure-drivers-provide-a-probe-function.patch @@ -0,0 +1,40 @@ +From 5e469dac326555d2038d199a6329458cc82a34e5 Mon Sep 17 00:00:00 2001 +From: Sudeep Holla +Date: Thu, 24 Jun 2021 10:50:59 +0100 +Subject: firmware: arm_scmi: Ensure drivers provide a probe function +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Sudeep Holla + +commit 5e469dac326555d2038d199a6329458cc82a34e5 upstream. + +The bus probe callback calls the driver callback without further +checking. Better be safe than sorry and refuse registration of a driver +without a probe function to prevent a NULL pointer exception. + +Link: https://lore.kernel.org/r/20210624095059.4010157-2-sudeep.holla@arm.com +Fixes: 933c504424a2 ("firmware: arm_scmi: add scmi protocol bus to enumerate protocol devices") +Reported-by: Uwe Kleine-König +Tested-by: Cristian Marussi +Reviewed-by: Cristian Marussi +Acked-by: Uwe Kleine-König +Signed-off-by: Sudeep Holla +Signed-off-by: Greg Kroah-Hartman +--- + drivers/firmware/arm_scmi/bus.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/firmware/arm_scmi/bus.c ++++ b/drivers/firmware/arm_scmi/bus.c +@@ -100,6 +100,9 @@ int scmi_driver_register(struct scmi_dri + { + int retval; + ++ if (!driver->probe) ++ return -EINVAL; ++ + driver->driver.bus = &scmi_bus_type; + driver->driver.name = driver->name; + driver->driver.owner = owner; diff --git a/queue-4.19/revert-watchdog-itco_wdt-account-for-rebooting-on-second-timeout.patch b/queue-4.19/revert-watchdog-itco_wdt-account-for-rebooting-on-second-timeout.patch new file mode 100644 index 00000000000..bbde647189d --- /dev/null +++ b/queue-4.19/revert-watchdog-itco_wdt-account-for-rebooting-on-second-timeout.patch @@ -0,0 +1,60 @@ +From b173962fd25a6a3ddf10771bdd6d9697bff2d21f Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Fri, 6 Aug 2021 08:28:48 +0200 +Subject: Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout" + +From: Greg Kroah-Hartman + +This reverts commit 5bfbacfeadf864cb23dfe66c610ed036d5e48879 which is +commit cb011044e34c293e139570ce5c01aed66a34345c upstream. + +It is reported to cause problems with systems and probably should not +have been backported in the first place :( + +Link: https://lore.kernel.org/r/20210803165108.4154cd52@endymion +Reported-by: Jean Delvare +Cc: Jan Kiszka +Cc: Guenter Roeck +Cc: Guenter Roeck +Cc: Wim Van Sebroeck +Cc: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + drivers/watchdog/iTCO_wdt.c | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +--- a/drivers/watchdog/iTCO_wdt.c ++++ b/drivers/watchdog/iTCO_wdt.c +@@ -75,8 +75,6 @@ + #define TCOBASE(p) ((p)->tco_res->start) + /* SMI Control and Enable Register */ + #define SMI_EN(p) ((p)->smi_res->start) +-#define TCO_EN (1 << 13) +-#define GBL_SMI_EN (1 << 0) + + #define TCO_RLD(p) (TCOBASE(p) + 0x00) /* TCO Timer Reload/Curr. Value */ + #define TCOv1_TMR(p) (TCOBASE(p) + 0x01) /* TCOv1 Timer Initial Value*/ +@@ -332,12 +330,8 @@ static int iTCO_wdt_set_timeout(struct w + + tmrval = seconds_to_ticks(p, t); + +- /* +- * If TCO SMIs are off, the timer counts down twice before rebooting. +- * Otherwise, the BIOS generally reboots when the SMI triggers. +- */ +- if (p->smi_res && +- (SMI_EN(p) & (TCO_EN | GBL_SMI_EN)) != (TCO_EN | GBL_SMI_EN)) ++ /* For TCO v1 the timer counts down twice before rebooting */ ++ if (p->iTCO_version == 1) + tmrval /= 2; + + /* from the specs: */ +@@ -499,7 +493,7 @@ static int iTCO_wdt_probe(struct platfor + * Disables TCO logic generating an SMI# + */ + val32 = inl(SMI_EN(p)); +- val32 &= ~TCO_EN; /* Turn off SMI clearing watchdog */ ++ val32 &= 0xffffdfff; /* Turn off SMI clearing watchdog */ + outl(val32, SMI_EN(p)); + } + diff --git a/queue-4.19/series b/queue-4.19/series index b49bc918c90..838b8369a87 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -10,3 +10,5 @@ bdi-add-a-dev_name-field-to-struct-backing_dev_info.patch revert-spi-mediatek-fix-fifo-rx-mode.patch revert-bluetooth-shutdown-controller-after-workqueues-are-flushed-or-cancelled.patch drm-i915-ensure-intel_engine_init_execlist-builds-with-clang.patch +firmware-arm_scmi-ensure-drivers-provide-a-probe-function.patch +revert-watchdog-itco_wdt-account-for-rebooting-on-second-timeout.patch