Weijie Gao
7e0370f37d
miiphy: define mii_devs with LIST_HEAD()
...
When enabling net console and console multiplexing, a boot crash was
observed using mtk_eth driver with stdin/stdout set to "serial,nc"
in persistent environment:
> CPU: MediaTek MT7981
> Model: OpenWrt One
> DRAM: 1 GiB
> Core: 35 devices, 15 uclasses, devicetree: separate
> spi-nand: spi_nand spi_nand@0: Winbond SPI NAND was found.
> spi-nand: spi_nand spi_nand@0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
> Loading Environment from UBI... SF: Detected w25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
> mtd: partition "ubi" extends beyond the end of device "spi-nand0" -- size truncated to 0x7f00000
> Read 126976 bytes from volume ubootenv to 000000007f7bf0c0
> Read 126976 bytes from volume ubootenv2 to 000000007f7de100
> OK
> "Synchronous Abort" handler, esr 0x96000004, far 0xeafffffeea000018
> elr: 0000000041e63cd4 lr : 0000000041e1b844 (reloc)
> elr: 000000007ff9ecd4 lr : 000000007ff56844
> x0 : eafffffeea000018 x1 : 000000007fb552e0
> x2 : 00000000000000fe x3 : 0000000000000000
The cause is that "serial,nc" forced the console subsystem to
initialize the ethernet driver before ethernet subsystem
initialization (console_init_r() is called before initr_net()).
During the mtk_eth driver initialization, mdio_register() will be
called, and miiphy_get_dev_by_name() will then be called.
The miiphy_get_dev_by_name() will check the list "mii_devs" to see
if the passed device name exists. However the mii_devs is defined
without initialization:
> static struct list_head mii_devs;
and the actual initialization is done in the following chain:
initr_net -> eth_initialize -> eth_common_init -> miiphy_init
Since initr_net() hasn't be called, iterating over the mii_devs
will access to physical address 0 (mii_devs.next == NULL) and will
cause the crash.
The fix is to define mii_devs using:
> static LIST_HEAD(mii_devs);
As the "current_mii" is defined as a static variable, it will
always be NULL in board_r stage and initializing it will NULL is
unnecessary. So the entire miiphy_init() can be remove.
Signed-off-by: Weijie Gao <hackpascal@gmail.com >
2025-03-04 08:03:47 -06:00
..
2024-10-27 17:24:13 -06:00
2025-02-03 16:01:36 -06:00
2022-07-18 09:37:50 +01:00
2025-02-22 08:42:01 -06:00
2025-02-27 12:11:02 -06:00
2025-01-24 14:35:37 -06:00
2025-02-19 23:14:59 +08:00
2025-02-10 10:30:15 -06:00
2023-05-31 12:31:47 -04:00
2024-11-25 23:07:37 -03:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2023-11-07 14:49:40 -05:00
2025-02-12 12:37:12 -06:00
2023-10-15 12:23:48 +02:00
2024-10-11 11:44:48 -06:00
2024-12-28 11:59:42 -06:00
2025-02-18 10:49:36 -06:00
2024-12-08 23:06:52 +01:00
2022-10-30 20:07:16 +01:00
2024-07-26 01:28:11 +02:00
2022-09-29 16:07:57 -04:00
2025-01-24 14:34:41 -06:00
2025-02-27 12:11:02 -06:00
2024-10-17 03:12:47 +02:00
2024-07-29 15:01:04 -06:00
2024-05-20 13:35:03 -06:00
2024-07-29 15:01:04 -06:00
2022-09-24 10:47:01 -04:00
2025-01-22 15:58:03 -06:00
2024-05-20 13:35:03 -06:00
2022-07-26 02:30:56 -06:00
2023-11-07 18:36:06 -05:00
2024-11-03 21:27:12 -06:00
2024-10-24 09:45:55 +02:00
2024-10-24 09:48:14 +02:00
2024-05-20 13:35:03 -06:00
2023-08-08 10:22:03 -04:00
2023-08-08 10:22:03 -04:00
2022-04-08 09:05:19 -04:00
2024-07-29 15:01:04 -06:00
2024-10-03 09:08:29 -06:00
2023-12-21 08:54:37 -05:00
2022-07-21 10:14:04 +02:00
2024-05-20 13:35:03 -06:00
2024-05-20 13:35:03 -06:00
2024-02-15 10:38:34 +01:00
2024-05-20 13:35:03 -06:00
2023-04-28 01:30:24 +01:00
2023-04-28 01:30:24 +01:00
2023-04-28 01:30:24 +01:00
2023-04-28 01:30:24 +01:00
2024-07-15 00:17:27 +01:00
2024-06-13 16:30:48 -06:00
2023-04-28 11:30:17 -06:00
2022-08-12 08:14:23 -04:00
2024-10-24 11:20:58 -06:00
2024-07-29 15:01:04 -06:00
2025-01-28 08:59:21 +02:00
2024-05-20 13:35:03 -06:00
2024-08-26 14:05:38 -06:00
2024-10-11 11:44:48 -06:00
2025-01-15 08:48:43 -06:00
2025-01-15 08:48:42 -06:00
2024-04-18 08:29:35 -06:00
2025-01-15 08:48:42 -06:00
2024-10-25 14:22:24 -06:00
2025-01-15 08:48:42 -06:00
2022-07-21 10:14:04 +02:00
2024-02-13 15:38:49 -05:00
2024-07-29 15:01:04 -06:00
2023-10-24 16:34:45 -04:00
2023-11-02 22:38:01 -04:00
2024-10-18 14:10:22 -06:00
2024-03-21 06:56:13 +01:00
2023-12-28 12:02:56 -05:00
2023-10-11 15:43:54 -04:00
2024-01-29 22:35:02 -05:00
2024-08-01 15:33:19 -06:00
2024-01-16 17:05:29 -05:00
2024-10-11 11:44:48 -06:00
2022-12-05 16:06:08 -05:00
2022-07-05 17:04:15 -04:00
2024-09-18 13:01:00 -06:00
2024-03-21 06:56:13 +01:00
2024-03-21 06:56:13 +01:00
2023-11-10 11:01:50 -05:00
2024-10-29 16:17:32 -06:00
2025-01-22 15:58:03 -06:00
2022-04-06 14:01:42 -04:00
2025-01-22 10:22:34 +01:00
2024-05-20 13:35:03 -06:00
2024-11-20 17:57:58 +01:00
2023-11-07 14:50:51 -05:00
2024-05-20 13:35:03 -06:00
2022-10-18 13:40:40 -04:00
2024-07-29 15:01:04 -06:00
2024-04-02 09:08:07 +02:00
2024-04-02 09:08:07 +02:00
2024-08-19 16:09:06 +09:00
2022-12-05 16:06:07 -05:00
2024-07-29 15:01:04 -06:00
2024-06-07 10:47:59 -06:00
2024-05-20 13:35:03 -06:00
2025-01-05 02:30:49 +01:00
2023-07-15 11:20:41 +02:00
2022-10-06 22:54:58 +02:00
2024-06-10 11:43:37 +02:00
2025-02-20 11:09:33 +01:00
2024-05-01 08:39:16 +02:00
2025-01-28 08:59:23 +02:00
2024-09-21 10:59:06 +02:00
2025-01-05 02:30:49 +01:00
2024-06-14 12:59:07 -06:00
2024-12-06 16:37:43 -06:00
2024-08-26 14:05:38 -06:00
2024-05-20 13:35:03 -06:00
2024-08-26 14:05:38 -06:00
2024-10-11 11:44:48 -06:00
2022-04-06 14:01:42 -04:00
2024-09-21 11:02:25 +02:00
2024-11-03 21:27:12 -06:00
2024-07-29 15:01:04 -06:00
2024-11-01 13:37:58 -06:00
2024-10-30 21:44:39 +01:00
2023-05-02 14:23:34 -04:00
2024-06-07 14:05:03 -06:00
2023-05-13 09:52:32 -04:00
2024-04-18 08:29:35 -06:00
2024-07-09 09:15:37 +02:00
2023-11-28 20:10:24 -05:00
2023-04-28 11:30:17 -06:00
2025-01-14 15:44:44 -06:00
2024-12-31 10:57:54 -06:00
2024-09-24 13:41:20 -06:00
2023-11-07 14:50:52 -05:00
2025-02-05 16:22:55 +01:00
2022-07-21 10:14:04 +02:00
2023-01-12 14:06:15 -05:00
2024-11-18 08:23:56 -06:00
2022-10-18 09:32:53 +08:00
2024-07-29 15:01:04 -06:00
2023-01-20 12:27:06 -05:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2024-10-04 09:15:15 -03:00
2022-04-26 17:18:39 +05:30
2024-07-29 15:01:04 -06:00
2024-05-20 13:35:03 -06:00
2022-07-26 11:29:00 +02:00
2024-07-29 15:01:04 -06:00
2023-11-07 14:50:51 -05:00
2023-11-07 14:50:52 -05:00
2023-11-07 14:50:52 -05:00
2023-11-07 14:50:52 -05:00
2023-01-20 12:27:24 -05:00
2024-07-29 15:01:04 -06:00
2024-05-20 13:35:03 -06:00
2022-06-23 12:58:18 -04:00
2024-05-24 13:40:03 -06:00
2024-09-19 10:52:50 +03:00
2024-09-09 17:18:04 +02:00
2024-09-21 10:58:38 +02:00
2022-04-12 15:36:17 +02:00
2024-07-29 15:01:04 -06:00
2024-10-03 11:52:16 -06:00
2024-12-02 07:40:39 -06:00
2024-04-08 13:04:48 +02:00
2024-01-24 11:12:11 -05:00
2024-05-20 13:35:03 -06:00
2024-08-13 06:23:15 +02:00
2023-04-27 13:51:06 -04:00
2024-10-11 11:44:48 -06:00
2023-07-25 12:44:46 -04:00
2025-02-15 14:44:43 +01:00
2024-11-09 08:54:19 -03:00
2024-04-05 09:39:18 -03:00
2023-07-13 11:29:40 +02:00
2024-02-08 09:01:22 -03:00
2024-05-20 13:35:03 -06:00
2023-09-14 10:42:24 -04:00
2023-11-02 16:22:06 +08:00
2023-12-21 11:59:49 -05:00
2022-04-19 14:52:34 -04:00
2024-10-11 11:44:48 -06:00
2024-10-17 15:38:50 -06:00
2024-10-27 17:24:13 -06:00
2024-12-04 14:30:18 -06:00
2024-06-19 12:07:44 -06:00
2024-06-19 12:07:44 -06:00
2024-07-29 15:01:04 -06:00
2025-02-07 11:39:24 -06:00
2024-05-20 13:35:03 -06:00
2022-10-30 20:07:17 +01:00
2024-12-31 10:58:30 -06:00
2025-01-24 14:34:40 -06:00
2025-02-20 11:09:33 +01:00
2025-01-26 11:06:56 +01:00
2024-05-20 13:35:03 -06:00
2024-10-25 14:22:24 -06:00
2024-01-07 13:45:07 -07:00
2023-04-07 14:21:37 +02:00
2024-07-29 15:01:04 -06:00
2024-04-12 16:23:06 -06:00
2023-12-21 08:54:37 -05:00
2024-01-09 14:58:33 +01:00
2024-11-15 14:32:02 +01:00
2024-11-04 16:41:38 -06:00
2024-07-29 15:01:04 -06:00
2025-03-04 08:03:47 -06:00
2023-08-08 10:22:03 -04:00
2025-01-26 11:39:00 -06:00
2024-07-29 15:01:04 -06:00
2023-11-07 14:50:51 -05:00
2024-05-20 13:35:03 -06:00
2023-11-10 11:01:50 -05:00
2024-10-24 11:21:48 -06:00
2024-07-29 15:01:04 -06:00
2022-12-05 16:06:08 -05:00
2022-10-09 10:42:26 +02:00
2024-07-29 15:01:04 -06:00
2023-05-05 17:58:52 -04:00
2023-12-21 08:54:37 -05:00
2025-01-01 14:35:54 -06:00
2024-12-28 11:59:42 -06:00
2025-02-12 12:36:57 -06:00
2024-10-16 11:11:56 -06:00
2024-11-25 23:07:37 -03:00
2024-12-14 09:32:59 -06:00
2024-01-24 11:12:11 -05:00
2023-08-30 17:56:21 -04:00
2023-10-06 14:38:13 -04:00
2023-06-20 16:08:13 -04:00
2024-09-30 17:48:12 -06:00
2023-11-07 14:50:52 -05:00
2023-08-25 17:55:19 -04:00
2024-11-20 17:57:58 +01:00
2024-07-29 15:01:04 -06:00
2024-09-03 09:12:00 -06:00
2025-01-22 16:43:54 +01:00
2024-05-20 13:35:03 -06:00
2024-06-13 16:27:07 -06:00
2023-11-07 14:50:52 -05:00
2024-01-24 11:12:11 -05:00
2024-12-30 15:55:07 -06:00
2025-01-15 08:48:42 -06:00
2023-02-06 13:04:53 -05:00
2024-05-20 13:35:03 -06:00
2023-01-16 18:01:10 +08:00
2023-05-06 17:28:18 +08:00
2023-09-14 10:42:24 -04:00
2024-03-22 15:50:28 -04:00
2023-02-12 13:44:20 -05:00
2024-09-12 17:35:37 +02:00
2024-03-02 12:26:19 -05:00
2023-12-21 08:54:37 -05:00
2024-05-20 13:35:03 -06:00
2024-09-12 17:35:37 +02:00
2023-10-10 16:19:43 -04:00
2023-10-15 12:23:48 +02:00
2023-11-07 18:36:06 -05:00
2023-10-24 17:05:24 -04:00
2023-10-13 16:59:23 -04:00
2023-10-24 17:05:24 -04:00
2022-10-31 11:02:44 -04:00
2024-07-29 15:01:04 -06:00
2024-05-02 10:34:34 -06:00
2024-10-11 11:44:48 -06:00
2024-10-11 11:44:48 -06:00
2022-12-08 15:15:22 +08:00
2024-10-27 18:44:13 -06:00
2023-10-15 12:23:48 +02:00
2024-05-20 13:35:03 -06:00
2025-01-14 14:29:29 -06:00
2025-01-14 14:29:29 -06:00
2025-01-14 14:29:29 -06:00
2024-01-24 11:12:11 -05:00
2024-07-29 15:01:04 -06:00
2024-10-24 09:41:52 +02:00
2025-01-22 09:52:22 -06:00
2024-11-10 20:21:07 -06:00
2024-10-13 17:20:26 +03:00
2025-02-03 16:01:36 -06:00
2025-02-03 16:01:36 -06:00
2024-05-20 13:35:03 -06:00
2024-10-10 16:02:20 -06:00
2022-04-06 14:03:17 -04:00
2023-10-09 15:24:31 -04:00
2024-10-11 11:44:48 -06:00
2024-10-14 17:58:12 -06:00
2024-10-11 11:44:48 -06:00
2023-05-06 17:28:18 +08:00
2025-01-14 14:29:29 -06:00
2023-12-21 08:54:37 -05:00
2024-01-09 10:08:52 +01:00
2022-12-05 16:06:08 -05:00
2023-02-10 07:41:40 -05:00
2024-07-29 15:01:04 -06:00
2023-09-15 23:38:02 +02:00
2023-11-10 11:01:50 -05:00
2022-09-13 16:01:43 -04:00
2023-09-09 06:12:47 +02:00
2024-01-24 11:12:11 -05:00
2023-02-28 09:44:19 +02:00
2025-01-07 15:45:51 +02:00
2025-01-09 11:11:10 -06:00
2023-02-28 09:44:33 +02:00
2025-01-28 08:58:41 +02:00
2025-01-01 10:40:33 -06:00
2022-12-07 16:04:16 -05:00
2024-04-04 10:45:27 +02:00
2023-11-07 14:50:52 -05:00
2024-08-08 09:28:00 +02:00
2023-06-06 10:37:25 +02:00
2024-10-11 11:44:48 -06:00
2024-07-29 15:01:04 -06:00
2022-12-07 16:04:17 -05:00
2024-03-22 10:16:13 +01:00
2024-09-18 13:01:00 -06:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2025-02-03 16:01:36 -06:00
2023-07-21 09:00:38 +02:00
2023-05-31 17:23:01 -04:00
2023-03-13 13:53:01 +01:00
2024-10-18 14:10:22 -06:00
2023-03-07 15:57:19 +01:00
2023-03-07 15:57:19 +01:00
2023-03-07 15:57:19 +01:00
2023-03-07 15:59:47 +01:00
2023-03-07 15:59:58 +01:00
2023-03-07 15:59:58 +01:00
2025-01-22 17:08:23 -06:00
2023-04-25 11:53:15 -04:00
2024-05-20 13:35:03 -06:00
2022-04-10 08:44:13 +03:00
2024-11-13 08:14:23 -06:00
2022-09-18 10:26:33 +02:00
2024-10-23 06:52:38 +02:00
2022-07-26 09:34:21 +02:00
2024-07-29 15:01:04 -06:00
2024-07-29 15:01:04 -06:00
2023-09-21 13:20:10 +02:00
2023-07-21 09:00:38 +02:00
2024-08-05 16:13:26 +02:00