diff --git a/AirportItlwm/AirportItlwm.cpp b/AirportItlwm/AirportItlwm.cpp index 36ea69ae4..4a064991a 100644 --- a/AirportItlwm/AirportItlwm.cpp +++ b/AirportItlwm/AirportItlwm.cpp @@ -368,6 +368,7 @@ bool AirportItlwm::start(IOService *provider) super::stop(pciNub); return false; } + _fWorkloop = OSDynamicCast(IO80211WorkLoop, getWorkLoop()); if (_fWorkloop == NULL) { XYLog("No _fWorkloop!!\n"); super::stop(pciNub); @@ -482,21 +483,6 @@ bool AirportItlwm::initPCIPowerManagment(IOPCIDevice *provider) return true; } -bool AirportItlwm::createWorkLoop() -{ - _fWorkloop = nullptr; - if (super::createWorkLoop()) - { - _fWorkloop = OSDynamicCast(IO80211WorkLoop, super::getWorkLoop()); - } - return _fWorkloop != nullptr; -} - -IOWorkLoop *AirportItlwm::getWorkLoop() const -{ - return _fWorkloop; -} - IOReturn AirportItlwm::selectMedium(const IONetworkMedium *medium) { setSelectedMedium(medium); @@ -586,7 +572,7 @@ void AirportItlwm::releaseAll() fWatchdogWorkLoop->release(); fWatchdogWorkLoop = NULL; } - _fWorkloop->release(); +// _fWorkloop->release(); _fWorkloop = NULL; } unregistPM();