diff options
author | Matthias Schiffer <matthias.schiffer@ew.tq-group.com> | 2024-04-26 10:02:24 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-05-15 10:46:47 -0600 |
commit | ef9d4da6c92b07f0668f059d0cdc51eb34ed947e (patch) | |
tree | f1c9b5e3dcb2d5fc3c5905a9cd260f5040af8165 /drivers/fpga/fpga.c | |
parent | 85e2c6900ea3282b766ffc37c71f035b0f47395f (diff) |
net: eth-uclass: guard against reentrant eth_init()/eth_halt() calls
With netconsole, any log message can result in an eth_init(), possibly
causing an reentrant call into eth_init() if a driver's ops print
anything:
eth_init() -> driver.start() -> printf() -> netconsole -> eth_init()
eth_halt() -> driver.stop() -> printf() -> netconsole -> eth_init()
Rather than expecting every single Ethernet driver to handle this case,
prevent the reentrant calls in eth_init() and eth_halt().
The issue was noticed on an AM62x board, where a bootm after
simultaneous netconsole and TFTP would result in a crash.
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Link: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1350550/sk-am62a-lp-am65_cpsw_nuss_port-error-in-u-boot-while-using-netconsole-functionality/
Diffstat (limited to 'drivers/fpga/fpga.c')
0 files changed, 0 insertions, 0 deletions