public inbox for iwd@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH 0/1] Retry when ifup fails
@ 2023-12-14 19:03 James Prestwood
  2023-12-14 19:03 ` [PATCH 1/1] netdev: retry on failed ifup James Prestwood
  2023-12-14 20:09 ` [PATCH 0/1] Retry when ifup fails James Prestwood
  0 siblings, 2 replies; 3+ messages in thread
From: James Prestwood @ 2023-12-14 19:03 UTC (permalink / raw)
  To: iwd; +Cc: James Prestwood

For some background, at its core this is a driver issue. The problem
seemed to happen much more frequently when power save was disabled
while the interface was down (this was reordered in a prior patch)
but I've received two reports of this happening now even after
that change was made. The driver logs are the same in both cases.
It appears to be some race between bringing the interface down and
up quickly.

This issue seems to have cropped up somewhat recently, in the last
few months (or nobody was reporting it). This specific code path
hasn't changed in a long time so I suspect other IWD changes, or gcc
variations slightly altered timing/scheduling and exposed this ath10k
bug.

After applying this patch I did see it happen again and the retry
was able to bring the interface back up successufully so to me this
seems like a viable option until the driver is fixed (if it ever is).

I do have an open thread with some ath10k engineers about this.

The one occurrence I've seen since the workaround was applied:

iwd[1571924]: src/manager.c:manager_new_p2p_interface_cb()
iwd[1571924]: src/p2p.c:p2p_device_update_from_genl() Created P2P device 15
kernel: ath10k_pci 0000:02:00.0: wmi service ready event not received
iwd[1571924]: Error bringing interface 14 up: Connection timed out, retrying in 1s
kernel: ath10k_pci 0000:02:00.0: Could not init core: -110
iwd[1571924]: src/netdev.c:netdev_link_notify() event 16 on ifindex 14
iwd[1571924]: src/netdev.c:netdev_set_4addr() netdev: 14 use_4addr: 0
iwd[1571924]: src/netdev.c:netdev_initial_up_cb() Interface 14 initialized
iwd[1571924]: src/netconfig.c:netconfig_new() Creating netconfig for interface: 14
iwd[1571924]: src/station.c:station_enter_state() Old State: disconnected, new state: autoconnect_quick

James Prestwood (1):
  netdev: retry on failed ifup

 src/netdev.c | 41 ++++++++++++++++++++++++++++++++++-------
 1 file changed, 34 insertions(+), 7 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-12-14 20:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-14 19:03 [PATCH 0/1] Retry when ifup fails James Prestwood
2023-12-14 19:03 ` [PATCH 1/1] netdev: retry on failed ifup James Prestwood
2023-12-14 20:09 ` [PATCH 0/1] Retry when ifup fails James Prestwood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox