de0u f that doesn't solve the problem, it would probably indicate bad hardware.
But how would bad hardware cause the driver to be unloaded?
Enabled wifi verbosity and now found 2 wifi related timeouts close together.
06-10 15:59:07.648 1000 1234 1527 E WifiThreadRunner: WifiThreadRunner.call() timed out!
06-10 15:59:07.648 1000 1234 1527 E WifiThreadRunner: java.lang.Throwable: Caller thread Stack trace:
06-10 15:59:07.648 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.WifiThreadRunner.call(WifiThreadRunner.java:88)
06-10 15:59:07.648 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.WifiServiceImpl.getPrivilegedConfiguredNetworks(WifiServiceImpl.java:3263)
06-10 15:59:07.648 1000 1234 1527 E WifiThreadRunner: at android.net.wifi.IWifiManager$Stub.onTransact(IWifiManager.java:1573)
06-10 15:59:07.648 1000 1234 1527 E WifiThreadRunner: at android.os.Binder.execTransactInternal(Binder.java:1525)
06-10 15:59:07.648 1000 1234 1527 E WifiThreadRunner: at android.os.Binder.execTransact(Binder.java:1464)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: WifiThreadRunner.call() timed out!
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: java.lang.Throwable: Wifi thread Stack trace:
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at android.os.BinderProxy.transactNative(Native Method)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at android.os.BinderProxy.transact(BinderProxy.java:586)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.wifi.x.android.hardware.wifi.IWifiChip$Stub$Proxy.configureChip(IWifiChip.java:1388)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.hal.WifiChipAidlImpl.configureChip(WifiChipAidlImpl.java:103)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.hal.WifiChip.lambda$configureChip$0(WifiChip.java:529)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.hal.WifiChip.$r8$lambda$OB_KjU2w6Ska7e1p6f899pE7Hxo(WifiChip.java:0)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.hal.WifiChip$$ExternalSyntheticLambda35.get(R8$$SyntheticClass:0)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.hal.WifiChip.validateAndCall(WifiChip.java:521)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.hal.WifiChip.configureChip(WifiChip.java:528)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.HalDeviceManager.executeChipReconfiguration(HalDeviceManager.java:2399)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.HalDeviceManager.createIfaceIfPossible(HalDeviceManager.java:1755)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.HalDeviceManager.createIface(HalDeviceManager.java:1634)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.HalDeviceManager.createStaIface(HalDeviceManager.java:326)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.HalDeviceManager.createStaIface(HalDeviceManager.java:354)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.WifiVendorHal.createStaIface(WifiVendorHal.java:288)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.WifiNative.createStaIface(WifiNative.java:1091)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.WifiNative.setupInterfaceForClientInScanMode(WifiNative.java:1315)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.ConcreteClientModeManager$ClientModeStateMachine$IdleState.processMessageImpl(ConcreteClientModeManager.java:985)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.server.wifi.RunnerState.processMessage(RunnerState.java:67)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.wifi.x.com.android.internal.util.StateMachine$SmHandler.processMsg(StateMachine.java:1001)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at com.android.wifi.x.com.android.internal.util.StateMachine$SmHandler.handleMessage(StateMachine.java:819)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at android.os.Handler.dispatchMessage(Handler.java:107)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at android.os.Looper.loopOnce(Looper.java:232)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at android.os.Looper.loop(Looper.java:317)
06-10 15:59:07.649 1000 1234 1527 E WifiThreadRunner: at android.os.HandlerThread.run(HandlerThread.java:68)
``