diff --git a/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt b/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt index 1c92e4e4a2..58c5999fdc 100644 --- a/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt +++ b/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt @@ -310,6 +310,12 @@ class EthernetManagerTest { fun setUp() { setIncludeTestInterfaces(true) addInterfaceStateListener(ifaceListener) + // Handler.post() events may get processed after native fd events, so it is possible that + // RTM_NEWLINK (from a subsequent createInterface() call) arrives before the interface state + // listener is registered. This affects the callbacks and breaks the tests. + // setEthernetEnabled() will always wait on a callback, so it is used as a barrier to ensure + // proper listener registration before proceeding. + setEthernetEnabled(true) } @After