diff --git a/src/add-ons/kernel/network/stack/interfaces.cpp b/src/add-ons/kernel/network/stack/interfaces.cpp index 75cbd8c1bf..b710d29575 100644 --- a/src/add-ons/kernel/network/stack/interfaces.cpp +++ b/src/add-ons/kernel/network/stack/interfaces.cpp @@ -482,8 +482,6 @@ Interface::~Interface() { TRACE("Interface %p: destructor\n", this); - put_device_interface(fDeviceInterface); - // Uninitialize the domain datalink protocols DatalinkTable::Iterator iterator = fDatalinkTable.GetIterator(); @@ -501,6 +499,8 @@ Interface::~Interface() delete datalink; } + put_device_interface(fDeviceInterface); + recursive_lock_destroy(&fLock); // Release reference of the stack - at this point, our stack may be unloaded