summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens2023-06-04 12:05:03 +0000
committerMartin Schiller2024-05-15 06:54:58 +0000
commite79dacd962f9ef3b443eda376eba42512ac6e529 (patch)
tree5a91876e5352159399ddad7bae4e72be664b7d13
parent11baab9fac046a43cd04f18a1f107460a29fe736 (diff)
downloadopenwrt-e79dacd962f9ef3b443eda376eba42512ac6e529.tar.gz
lantiq: Fix bug in error handling of timer driver
If the reverted timer driver fails to allocate interrupts handle the error better. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> [moved printk before the cleanup for-loop] Signed-off-by: Martin Schiller <ms@dev.tdt.de>
-rw-r--r--target/linux/lantiq/patches-5.15/0008-MIPS-lantiq-backport-old-timer-code.patch6
-rw-r--r--target/linux/lantiq/patches-6.1/0008-MIPS-lantiq-backport-old-timer-code.patch6
2 files changed, 6 insertions, 6 deletions
diff --git a/target/linux/lantiq/patches-5.15/0008-MIPS-lantiq-backport-old-timer-code.patch b/target/linux/lantiq/patches-5.15/0008-MIPS-lantiq-backport-old-timer-code.patch
index 16b87ed0a5..5721e017b3 100644
--- a/target/linux/lantiq/patches-5.15/0008-MIPS-lantiq-backport-old-timer-code.patch
+++ b/target/linux/lantiq/patches-5.15/0008-MIPS-lantiq-backport-old-timer-code.patch
@@ -981,7 +981,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+int __init lq_gptu_init(void)
+{
+ int ret;
-+ unsigned int i;
++ int i;
+
+ ltq_w32(0, LQ_GPTU_IRNEN);
+ ltq_w32(0xfff, LQ_GPTU_IRNCR);
@@ -1007,10 +1007,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ for (i = 0; i < timer_dev.number_of_timers; i++) {
+ ret = request_irq(TIMER_INTERRUPT + i, timer_irq_handler, IRQF_TIMER, gptu_miscdev.name, &timer_dev.timer[i]);
+ if (ret) {
-+ for (; i >= 0; i--)
++ printk(KERN_ERR "gptu: failed in requesting irq (%d), get error %d\n", i, -ret);
++ for (i--; i >= 0; i--)
+ free_irq(TIMER_INTERRUPT + i, &timer_dev.timer[i]);
+ misc_deregister(&gptu_miscdev);
-+ printk(KERN_ERR "gptu: failed in requesting irq (%d), get error %d\n", i, -ret);
+ return ret;
+ } else {
+ timer_dev.timer[i].irq = TIMER_INTERRUPT + i;
diff --git a/target/linux/lantiq/patches-6.1/0008-MIPS-lantiq-backport-old-timer-code.patch b/target/linux/lantiq/patches-6.1/0008-MIPS-lantiq-backport-old-timer-code.patch
index 16b87ed0a5..5721e017b3 100644
--- a/target/linux/lantiq/patches-6.1/0008-MIPS-lantiq-backport-old-timer-code.patch
+++ b/target/linux/lantiq/patches-6.1/0008-MIPS-lantiq-backport-old-timer-code.patch
@@ -981,7 +981,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+int __init lq_gptu_init(void)
+{
+ int ret;
-+ unsigned int i;
++ int i;
+
+ ltq_w32(0, LQ_GPTU_IRNEN);
+ ltq_w32(0xfff, LQ_GPTU_IRNCR);
@@ -1007,10 +1007,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ for (i = 0; i < timer_dev.number_of_timers; i++) {
+ ret = request_irq(TIMER_INTERRUPT + i, timer_irq_handler, IRQF_TIMER, gptu_miscdev.name, &timer_dev.timer[i]);
+ if (ret) {
-+ for (; i >= 0; i--)
++ printk(KERN_ERR "gptu: failed in requesting irq (%d), get error %d\n", i, -ret);
++ for (i--; i >= 0; i--)
+ free_irq(TIMER_INTERRUPT + i, &timer_dev.timer[i]);
+ misc_deregister(&gptu_miscdev);
-+ printk(KERN_ERR "gptu: failed in requesting irq (%d), get error %d\n", i, -ret);
+ return ret;
+ } else {
+ timer_dev.timer[i].irq = TIMER_INTERRUPT + i;