Skip to content

Commit fadf42c

Browse files
usr-sse2Michael Belyaev
and
Michael Belyaev
authored
Fix noise sign and return code (#834)
* Return 6 instead of kIOReturnError when not connected * Noise should be negative. Positive noise means that noise is MUCH stronger than signal. * Remove unneeded macro Co-authored-by: Michael Belyaev <[email protected]>
1 parent 640bcf8 commit fadf42c

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed

AirportItlwm/AirportSTAIOCTL.cpp

+20-23
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ getSSID(OSObject *object,
225225
sd->ssid_len = (uint32_t)strlen((const char*)ic->ic_des_essid);
226226
return kIOReturnSuccess;
227227
}
228-
return kIOReturnError;
228+
return 6;
229229
}
230230

231231
IOReturn AirportItlwm::
@@ -376,7 +376,7 @@ getCHANNEL(OSObject *object,
376376
cd->channel.flags = ieeeChanFlag2apple(ic->ic_bss->ni_chan->ic_flags, ic->ic_bss->ni_chw);
377377
return kIOReturnSuccess;
378378
}
379-
return kIOReturnError;
379+
return 6;
380380
}
381381

382382
IOReturn AirportItlwm::
@@ -397,7 +397,7 @@ getPROTMODE(OSObject *object, struct apple80211_protmode_data *pd)
397397
pd->protmode = 0;
398398
return kIOReturnSuccess;
399399
}
400-
return kIOReturnError;
400+
return 6;
401401
}
402402

403403
IOReturn AirportItlwm::
@@ -418,7 +418,7 @@ getTXPOWER(OSObject *object,
418418
txd->txpower_unit = APPLE80211_UNIT_PERCENT;
419419
return kIOReturnSuccess;
420420
}
421-
return kIOReturnError;
421+
return 6;
422422
}
423423

424424
IOReturn AirportItlwm::
@@ -457,7 +457,7 @@ getRATE(OSObject *object, struct apple80211_rate_data *rd)
457457
{
458458
struct ieee80211com *ic = fHalService->get80211Controller();
459459
if (ic->ic_bss == NULL)
460-
return kIOReturnError;
460+
return 6;
461461
int nss;
462462
int sgi;
463463
int index = 0;
@@ -502,7 +502,7 @@ getRATE(OSObject *object, struct apple80211_rate_data *rd)
502502
rd->rate[0] = ic->ic_bss->ni_rates.rs_rates[ic->ic_bss->ni_txrate];
503503
return kIOReturnSuccess;
504504
}
505-
return kIOReturnError;
505+
return 6;
506506
}
507507

508508
IOReturn AirportItlwm::
@@ -638,7 +638,7 @@ getBSSID(OSObject *object,
638638
memcpy(bd->bssid.octet, ic->ic_bss->ni_bssid, APPLE80211_ADDR_LEN);
639639
return kIOReturnSuccess;
640640
}
641-
return kIOReturnError;
641+
return 6;
642642
}
643643

644644
IOReturn AirportItlwm::
@@ -722,7 +722,7 @@ getMCS_INDEX_SET(OSObject *object, struct apple80211_mcs_index_set_data *ad)
722722
ad->mcs_set_map[i] = ic->ic_bss->ni_rxmcs[i];
723723
return kIOReturnSuccess;
724724
}
725-
return kIOReturnError;
725+
return 6;
726726
}
727727

728728
IOReturn AirportItlwm::
@@ -793,7 +793,7 @@ getRATE_SET(OSObject *object, struct apple80211_rate_set_data *ad)
793793
}
794794
return kIOReturnSuccess;
795795
}
796-
return kIOReturnError;
796+
return 6;
797797
}
798798

799799
IOReturn AirportItlwm::
@@ -869,7 +869,7 @@ getRSSI(OSObject *object,
869869
= -(0 - IWM_MIN_DBM - ic->ic_bss->ni_rssi);
870870
return kIOReturnSuccess;
871871
}
872-
return kIOReturnError;
872+
return 6;
873873
}
874874

875875
IOReturn AirportItlwm::
@@ -940,11 +940,11 @@ getNOISE(OSObject *object,
940940
nd->version = APPLE80211_VERSION;
941941
nd->num_radios = 1;
942942
nd->noise[0]
943-
= nd->aggregate_noise = fHalService->getDriverInfo()->getBSSNoise();
943+
= nd->aggregate_noise = -fHalService->getDriverInfo()->getBSSNoise();
944944
nd->noise_unit = APPLE80211_UNIT_DBM;
945945
return kIOReturnSuccess;
946946
}
947-
return kIOReturnError;
947+
return 6;
948948
}
949949

950950
IOReturn AirportItlwm::
@@ -1166,30 +1166,27 @@ setDEAUTH(OSObject *object,
11661166
void AirportItlwm::
11671167
eventHandler(struct ieee80211com *ic, int msgCode, void *data)
11681168
{
1169-
#define INTERFACE_POST_MESSAGE(code) \
1170-
if (interface) { \
1171-
interface->postMessage(code); \
1172-
}
11731169
IO80211Interface *interface = OSDynamicCast(IO80211Interface, ic->ic_ac.ac_if.iface);
1170+
if (!interface)
1171+
return;
11741172
switch (msgCode) {
11751173
case IEEE80211_EVT_COUNTRY_CODE_UPDATE:
1176-
INTERFACE_POST_MESSAGE(APPLE80211_M_COUNTRY_CODE_CHANGED)
1174+
interface->postMessage(APPLE80211_M_COUNTRY_CODE_CHANGED);
11771175
break;
11781176
case IEEE80211_EVT_STA_ASSOC_DONE:
1179-
INTERFACE_POST_MESSAGE(APPLE80211_M_ASSOC_DONE)
1177+
interface->postMessage(APPLE80211_M_ASSOC_DONE);
11801178
break;
11811179
case IEEE80211_EVT_STA_DEAUTH:
1182-
INTERFACE_POST_MESSAGE(APPLE80211_M_DEAUTH_RECEIVED)
1180+
interface->postMessage(APPLE80211_M_DEAUTH_RECEIVED);
11831181
break;
11841182
#if 0
11851183
case IEEE80211_EVT_SCAN_DONE:
1186-
INTERFACE_POST_MESSAGE(APPLE80211_M_SCAN_DONE)
1184+
interface->postMessage(APPLE80211_M_SCAN_DONE);
11871185
break;
11881186
#endif
11891187
default:
11901188
break;
11911189
}
1192-
#undef INTERFACE_POST_MESSAGE
11931190
}
11941191

11951192
IOReturn AirportItlwm::
@@ -1274,7 +1271,7 @@ getMCS(OSObject *object, struct apple80211_mcs_data* md)
12741271
{
12751272
struct ieee80211com *ic = fHalService->get80211Controller();
12761273
if (ic->ic_state != IEEE80211_S_RUN || ic->ic_bss == NULL || !md)
1277-
return kIOReturnError;
1274+
return 6;
12781275
md->version = APPLE80211_VERSION;
12791276
md->index = ic->ic_bss->ni_txmcs;
12801277
return kIOReturnSuccess;
@@ -1408,7 +1405,7 @@ getSCAN_RESULT(OSObject *object, struct apple80211_scan_result **sr)
14081405
result->asr_channel.version = APPLE80211_VERSION;
14091406
result->asr_channel.channel = ieee80211_chan2ieee(ic, fNextNodeToSend->ni_chan);
14101407
result->asr_channel.flags = ieeeChanFlag2apple(fNextNodeToSend->ni_chan->ic_flags, -1);
1411-
result->asr_noise = fHalService->getDriverInfo()->getBSSNoise();
1408+
result->asr_noise = -fHalService->getDriverInfo()->getBSSNoise();
14121409
result->asr_rssi = -(0 - IWM_MIN_DBM - fNextNodeToSend->ni_rssi);
14131410
memcpy(result->asr_bssid, fNextNodeToSend->ni_bssid, IEEE80211_ADDR_LEN);
14141411
result->asr_ssid_len = fNextNodeToSend->ni_esslen;

0 commit comments

Comments
 (0)