mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-10-24 02:24:33 -04:00
When marking a switch port as disabled in the device tree, by using
'status = "disabled";', the switch driver fails on boot, causing a
restart:
CPU 0 Unable to handle kernel paging request at virtual address
00000000, epc == 802c3064, ra == 8022b4b4
[ ... ]
Call Trace:
[<802c3064>] strlen+0x0/0x2c
[<8022b4b4>] start_creating.part.0+0x78/0x194
[<8022bd3c>] debugfs_create_dir+0x44/0x1c0
[<80396dfc>] rtl838x_dbgfs_port_init+0x54/0x258
[<80397508>] rtl838x_dbgfs_init+0xe0/0x56c
This is caused by the DSA subsystem (mostly) ignoring the port, while
rtl83xx_mdio_probe() still extracts some details on this disabled port
from the device tree, resulting in the usage of a NULL pointer where a
port name is expected.
By not probing ignoring disabled ports, no attempt is made to create a
debugfs directory later. The device then boots as expected without the
disabled port.
Signed-off-by: Sander Vanheule <sander@svanheule.net>
|
||
|---|---|---|
| .. | ||
| common.c | ||
| debugfs.c | ||
| dsa.c | ||
| Kconfig | ||
| Makefile | ||
| qos.c | ||
| rtl83xx.h | ||
| rtl838x.c | ||
| rtl838x.h | ||
| rtl839x.c | ||
| rtl930x.c | ||
| rtl931x.c | ||
| tc.c | ||