net: fec_mxc: add DM_FLAG_ACTIVE_DMA flag for FEC network driver
authorMeng Li <meng.li@windriver.com>
Mon, 23 Dec 2024 02:41:04 +0000 (10:41 +0800)
committerFabio Estevam <festevam@gmail.com>
Mon, 23 Dec 2024 11:09:53 +0000 (08:09 -0300)
commit2f74cac8c324339eaf123a2e7d602b4568d87ce1
tree55debd9473f0cc189879ab06cef325687402ac85
parent7f02219eb6acea0febd4e29cb2c5192b762ed213
net: fec_mxc: add DM_FLAG_ACTIVE_DMA flag for FEC network driver

When FEC network card works as the prime one in u-boot, and is in
active status, kernel might crash during booting up stage, especially
working with grub. Because the DMA of FEC is still in active status, and
copy data into memory if there is network data received. In this case, if
kernel allocated a part of memory that has overlay with the memory
used by DMA, kernel memory may be destroyed and cause kernel crashes.
Because before kernel boots up really, u-boot dm_remove_devices_flags()
can call the remove callback of FEC driver with DM_FLAG_ACTIVE_DMA
flag. In fecmxc_remove(), phy power is disabled, so there is no data
received. In this way, it makes sure that there is no DMA action, so
that avoid kernel crashing occurs.

Signed-off-by: Meng Li <Meng.Li@windriver.com>
drivers/net/fec_mxc.c