espressif / esp-hosted

Hosted Solution (Linux/MCU) with ESP32 (Wi-Fi + BT + BLE)
Other
669 stars 154 forks source link

[NG Mode, IMX Host, SPI mode] ESP Exitting execute cmd_get_tx_power failed #472

Open nguyenlkdn opened 2 weeks ago

nguyenlkdn commented 2 weeks ago

[ 2320.452427] Command Code: 7 [ 2320.893183] stop_network_iface [ 2320.896262] esp_mark_scan_done_and_disconnect [ 2320.976953] Command Code: 15 [ 2320.980051] CPU: 1 PID: 5425 Comm: rmmod Tainted: G C O 5.10.9+ga751ca3b96f5 #1 [ 2320.988500] Hardware name: Ion Mobility Gridania PVT1 (DT) [ 2320.993991] Call trace: [ 2320.996453] dump_backtrace+0x0/0x1a0 [ 2321.000117] show_stack+0x18/0x70 [ 2321.003437] dump_stack+0xd0/0x12c [ 2321.006850] prepare_command_request+0x40/0x20c [esp32_spi] [ 2321.012429] cmd_get_tx_power+0x60/0xec [esp32_spi] [ 2321.017310] esp_cfg80211_get_tx_power+0x68/0xdc [esp32_spi] [ 2321.022975] nl80211_send_iface+0x1dc/0x3d0 [ 2321.027159] nl80211_notify_iface+0x58/0xc4 [ 2321.031350] __cfg80211_unregister_wdev+0x48/0x130 [ 2321.036142] cfg80211_netdev_notifier_call+0x29c/0x400 [ 2321.041287] raw_notifier_call_chain+0x54/0x74 [ 2321.045739] call_netdevice_notifiers_info+0x58/0xa4 [ 2321.050715] rollback_registered_many+0x32c/0x68c [ 2321.055422] unregister_netdevice_queue+0x90/0x110 [ 2321.060216] unregister_netdev+0x24/0x3c [ 2321.064155] esp_remove_card+0xa8/0xbc [esp32_spi] [ 2321.068950] spi_exit+0xa4/0x220 [esp32_spi] [ 2321.073224] esp_deinit_interface_layer+0x10/0x140 [esp32_spi] [ 2321.079061] esp_exit+0x54/0x11e0 [esp32_spi] [ 2321.083424] __arm64_sys_delete_module+0x19c/0x230 [ 2321.088221] el0_svc_common.constprop.0+0x78/0x1a0 [ 2321.093011] do_el0_svc+0x24/0x90 [ 2321.096332] el0_svc+0x14/0x20 [ 2321.099387] el0_sync_handler+0x1a4/0x1b0 [ 2321.103401] el0_sync+0x174/0x180 [ 2321.106894] esp32_spi: prepare_command_request: command queue init is not done yet [ 2321.114519] esp32_spi: cmd_get_tx_power: Failed to get command node

Why do we need to get_tx_power while esp device driver exiting. It always failure because device work-queue already destroyed by command 7(CMD_DEINIT_INTERFACE)

mantriyogesh commented 2 weeks ago

@kapilkedawat ++