Message ID | 20181210014435.24520-1-mail@david-bauer.net |
---|---|
State | Superseded, archived |
Headers | show |
Series | [OpenWrt-Devel,1/2] ath79: load watchdog before PHY driver | expand |
10/12/2018 02:44, David Bauer: > The initialization for the two ethernet PHYs causes the hardware > wathchdog of devolo WiFi pro boards to trigger reset. Linking the > watchdog drivers before the PHY driver fixes this issue. > > Signed-off-by: David Bauer <mail@david-bauer.net> > --- > .../431-link-phy-after-watchdog.patch | 31 +++++++++++++++++++ > 1 file changed, 31 insertions(+) > create mode 100644 target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch > > diff --git a/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch b/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch > new file mode 100644 > index 0000000000..d5b5357fd5 > --- /dev/null > +++ b/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch > @@ -0,0 +1,31 @@ > +Index: linux-4.14.82/drivers/Makefile > +=================================================================== > +--- linux-4.14.82.orig/drivers/Makefile > ++++ linux-4.14.82/drivers/Makefile > +@@ -9,13 +9,16 @@ > + obj-y += irqchip/ > + obj-y += bus/ > + > +-obj-$(CONFIG_GENERIC_PHY) += phy/ > +- > + # GPIO must come after pinctrl as gpios may need to mux pins etc > + obj-$(CONFIG_PINCTRL) += pinctrl/ > + obj-$(CONFIG_GPIOLIB) += gpio/ > + obj-y += pwm/ > + > ++# load watchdog before PHY drivers as PHY driver init causes > ++# watchdog timeout on some devices > ++obj-$(CONFIG_WATCHDOG) += watchdog/ > ++obj-$(CONFIG_GENERIC_PHY) += phy/ > ++ > + obj-$(CONFIG_PCI) += pci/ > + obj-$(CONFIG_PCI_ENDPOINT) += pci/endpoint/ > + # PCI dwc controller drivers > +@@ -120,7 +123,6 @@ obj-$(CONFIG_W1) += w1/ > + obj-y += power/ > + obj-$(CONFIG_HWMON) += hwmon/ > + obj-$(CONFIG_THERMAL) += thermal/ > +-obj-$(CONFIG_WATCHDOG) += watchdog/ > + obj-$(CONFIG_MD) += md/ > + obj-$(CONFIG_BT) += bluetooth/ > + obj-$(CONFIG_ACCESSIBILITY) += accessibility/ > Hey David, have you tried to set GPIO_WATCHDOG_ARCH_INITCALL instead? According to the help text, it might solve your issue: In some situations, the default initcall level (module_init) in not early enough in the boot process to avoid the watchdog to be triggered. If you say yes here, the initcall level would be raised to arch_initcall. Mathias
On 10.12.18 09:55, Mathias Kresin wrote: > Hey David, > > have you tried to set GPIO_WATCHDOG_ARCH_INITCALL instead? According to > the help text, it might solve your issue: Hello Mathias, thanks for pointing out, indeed this does solve my issue. This patch is therefore obsolete. I will send a v2 later this evening. Best wishes David > > In some situations, the default initcall level (module_init) > in not early enough in the boot process to avoid the watchdog > to be triggered. > If you say yes here, the initcall level would be raised to > arch_initcall. > > Mathias
diff --git a/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch b/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch new file mode 100644 index 0000000000..d5b5357fd5 --- /dev/null +++ b/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch @@ -0,0 +1,31 @@ +Index: linux-4.14.82/drivers/Makefile +=================================================================== +--- linux-4.14.82.orig/drivers/Makefile ++++ linux-4.14.82/drivers/Makefile +@@ -9,13 +9,16 @@ + obj-y += irqchip/ + obj-y += bus/ + +-obj-$(CONFIG_GENERIC_PHY) += phy/ +- + # GPIO must come after pinctrl as gpios may need to mux pins etc + obj-$(CONFIG_PINCTRL) += pinctrl/ + obj-$(CONFIG_GPIOLIB) += gpio/ + obj-y += pwm/ + ++# load watchdog before PHY drivers as PHY driver init causes ++# watchdog timeout on some devices ++obj-$(CONFIG_WATCHDOG) += watchdog/ ++obj-$(CONFIG_GENERIC_PHY) += phy/ ++ + obj-$(CONFIG_PCI) += pci/ + obj-$(CONFIG_PCI_ENDPOINT) += pci/endpoint/ + # PCI dwc controller drivers +@@ -120,7 +123,6 @@ obj-$(CONFIG_W1) += w1/ + obj-y += power/ + obj-$(CONFIG_HWMON) += hwmon/ + obj-$(CONFIG_THERMAL) += thermal/ +-obj-$(CONFIG_WATCHDOG) += watchdog/ + obj-$(CONFIG_MD) += md/ + obj-$(CONFIG_BT) += bluetooth/ + obj-$(CONFIG_ACCESSIBILITY) += accessibility/
The initialization for the two ethernet PHYs causes the hardware wathchdog of devolo WiFi pro boards to trigger reset. Linking the watchdog drivers before the PHY driver fixes this issue. Signed-off-by: David Bauer <mail@david-bauer.net> --- .../431-link-phy-after-watchdog.patch | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch