diff --git a/QualcommWifi/Info.plist b/QualcommWifi/Info.plist
index 40d8753..ddef963 100644
--- a/QualcommWifi/Info.plist
+++ b/QualcommWifi/Info.plist
@@ -54,6 +54,6 @@
16.7
OSBundleRequired
- Root
+ Network-Root
diff --git a/QualcommWifi/QualcommWifi.cpp b/QualcommWifi/QualcommWifi.cpp
index 93d4be8..0c92aa8 100644
--- a/QualcommWifi/QualcommWifi.cpp
+++ b/QualcommWifi/QualcommWifi.cpp
@@ -64,10 +64,14 @@ bool QualcommWifi::init(OSDictionary *dictionary) {
fDmaVirtAddr = nullptr;
fDmaPrepared = false;
fFirmwareLoaded = false;
+ fFaultReporter = OSString::withCString("QualcommFaultReporter");
+ fLogger = OSString::withCString("QualcommLogger");
return true;
}
void QualcommWifi::free(void) {
+ OSSafeReleaseNULL(fFaultReporter);
+ OSSafeReleaseNULL(fLogger);
OSSafeReleaseNULL(fWorkQueue);
super::free();
}
@@ -748,6 +752,14 @@ IOReturn QualcommWifi::handleCardSpecific(IO80211SkywalkInterface *iface, unsign
return (IOReturn)handleApple80211Request((unsigned int)req_type, isSet ? 1 : 0, req_data);
}
+void* QualcommWifi::getLogger(void) const {
+ return (void*)fLogger;
+}
+
+void* QualcommWifi::getFaultReporterFromDriver(void) {
+ return (void*)fFaultReporter;
+}
+
IOReturn QualcommWifi::getDRIVER_VERSION(IO80211SkywalkInterface *iface, apple80211_version_data *vd) {
return (IOReturn)handleApple80211Request(APPLE80211_IOC_DRIVER_VERSION, 0, vd);
}
diff --git a/QualcommWifi/QualcommWifi.hpp b/QualcommWifi/QualcommWifi.hpp
index 60127ae..a5b8194 100644
--- a/QualcommWifi/QualcommWifi.hpp
+++ b/QualcommWifi/QualcommWifi.hpp
@@ -204,6 +204,8 @@ private:
void *fDmaVirtAddr;
bool fDmaPrepared;
bool fFirmwareLoaded;
+ OSObject *fFaultReporter;
+ OSObject *fLogger;
UInt32 read32(UInt32 offset);
void write32(UInt32 offset, UInt32 value);
@@ -253,8 +255,8 @@ public:
virtual IOReturn getCOUNTRY_CODE(IO80211SkywalkInterface *iface, apple80211_country_code_data *cc) override;
virtual IOReturn setCOUNTRY_CODE(IO80211SkywalkInterface *iface, apple80211_country_code_data *cc) override { return kIOReturnSuccess; }
virtual IOReturn setGET_DEBUG_INFO(IO80211SkywalkInterface *iface, apple80211_debug_command *dbg) override { return kIOReturnSuccess; }
- virtual void* getLogger(void) const override { return nullptr; }
- virtual void* getFaultReporterFromDriver(void) override { return nullptr; }
+ virtual void* getLogger(void) const override;
+ virtual void* getFaultReporterFromDriver(void) override;
// Dispatcher de requĂȘtes Apple80211 / airportd
SInt32 handleApple80211Request(unsigned int req_type, int req_val, void* req_data);