diff options
Diffstat (limited to 'drivers/staging/wlan-ng/prism2mib.c')
-rw-r--r-- | drivers/staging/wlan-ng/prism2mib.c | 1325 |
1 files changed, 5 insertions, 1320 deletions
diff --git a/drivers/staging/wlan-ng/prism2mib.c b/drivers/staging/wlan-ng/prism2mib.c index c15c2e48633..539c4479d38 100644 --- a/drivers/staging/wlan-ng/prism2mib.c +++ b/drivers/staging/wlan-ng/prism2mib.c @@ -112,14 +112,6 @@ typedef struct mibrec /*================================================================*/ /* Local Function Declarations */ -static int prism2mib_bytestr2pstr( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - static int prism2mib_bytearea2pstr( mibrec_t *mib, int isget, @@ -136,38 +128,6 @@ hfa384x_t *hw, p80211msg_dot11req_mibset_t *msg, void *data); -static int prism2mib_uint32array( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - -static int prism2mib_uint32offset( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - -static int prism2mib_truth( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - -static int prism2mib_preamble( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - static int prism2mib_flag( mibrec_t *mib, int isget, @@ -176,14 +136,6 @@ hfa384x_t *hw, p80211msg_dot11req_mibset_t *msg, void *data); -static int prism2mib_regulatorydomains( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - static int prism2mib_wepdefaultkey( mibrec_t *mib, int isget, @@ -192,14 +144,6 @@ hfa384x_t *hw, p80211msg_dot11req_mibset_t *msg, void *data); -static int prism2mib_powermanagement( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - static int prism2mib_privacyinvoked( mibrec_t *mib, int isget, @@ -224,38 +168,6 @@ hfa384x_t *hw, p80211msg_dot11req_mibset_t *msg, void *data); -static int prism2mib_operationalrateset( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - -static int prism2mib_fwid( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - -static int prism2mib_authalg( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - -static int prism2mib_authalgenable( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - static int prism2mib_priv( mibrec_t *mib, int isget, @@ -270,95 +182,6 @@ void *data); static mibrec_t mibtab[] = { /* dot11smt MIB's */ - - { DIDmib_dot11smt_dot11StationConfigTable_dot11StationID, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFOWNMACADDR, HFA384x_RID_CNFOWNMACADDR_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11CFPollable, - F_STA | F_READ, - HFA384x_RID_CFPOLLABLE, 0, 0, - prism2mib_uint32 }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11AuthenticationResponseTimeOut, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFAUTHRSPTIMEOUT, 0, 0, - prism2mib_uint32 }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11PrivacyOptionImplemented, - F_STA | F_READ, - HFA384x_RID_PRIVACYOPTIMP, 0, 0, - prism2mib_uint32 }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11PowerManagementMode, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFPMENABLED, 0, 0, - prism2mib_powermanagement }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredSSID, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFDESIREDSSID, HFA384x_RID_CNFDESIREDSSID_LEN, 0, - prism2mib_bytestr2pstr }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredBSSType, - F_STA | F_READ | F_WRITE, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11OperationalRateSet, - F_STA | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL, 0, 0, - prism2mib_operationalrateset }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11DTIMPeriod, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFOWNDTIMPER, 0, 0, - prism2mib_uint32 }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11AssociationResponseTimeOut, - F_STA | F_READ, - HFA384x_RID_PROTOCOLRSPTIME, 0, 0, - prism2mib_uint32 }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm1, - F_STA | F_READ, - 1, 0, 0, - prism2mib_authalg }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm2, - F_STA | F_READ, - 2, 0, 0, - prism2mib_authalg }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm3, - F_STA | F_READ, - 3, 0, 0, - prism2mib_authalg }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm4, - F_STA | F_READ, - 4, 0, 0, - prism2mib_authalg }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm5, - F_STA | F_READ, - 5, 0, 0, - prism2mib_authalg }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm6, - F_STA | F_READ, - 6, 0, 0, - prism2mib_authalg }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable1, - F_STA | F_READ | F_WRITE, - 1, 0, 0, - prism2mib_authalgenable }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable2, - F_STA | F_READ | F_WRITE, - 2, 0, 0, - prism2mib_authalgenable }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable3, - F_STA | F_READ | F_WRITE, - 3, 0, 0, - prism2mib_authalgenable }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable4, - F_STA | F_READ | F_WRITE, - 4, 0, 0, - prism2mib_authalgenable }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable5, - F_STA | F_READ | F_WRITE, - 5, 0, 0, - prism2mib_authalgenable }, - { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable6, - F_STA | F_READ | F_WRITE, - 6, 0, 0, - prism2mib_authalgenable }, { DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey0, F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY0, 0, 0, @@ -387,10 +210,6 @@ static mibrec_t mibtab[] = { F_STA | F_READ | F_WRITE, HFA384x_RID_CNFWEPFLAGS, HFA384x_WEPFLAGS_EXCLUDE, 0, prism2mib_excludeunencrypted }, - { DIDmib_dot11phy_dot11PhyOperationTable_dot11ShortPreambleEnabled, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFSHORTPREAMBLE, 0, 0, - prism2mib_preamble }, /* dot11mac MIB's */ @@ -418,48 +237,17 @@ static mibrec_t mibtab[] = { F_STA | F_READ, HFA384x_RID_MAXTXLIFETIME, 0, 0, prism2mib_uint32 }, - { DIDmib_dot11mac_dot11OperationTable_dot11MaxReceiveLifetime, - F_STA | F_READ, - HFA384x_RID_MAXRXLIFETIME, 0, 0, - prism2mib_uint32 }, /* dot11phy MIB's */ - { DIDmib_dot11phy_dot11PhyOperationTable_dot11PHYType, - F_STA | F_READ, - HFA384x_RID_PHYTYPE, 0, 0, - prism2mib_uint32 }, - { DIDmib_dot11phy_dot11PhyOperationTable_dot11TempType, - F_STA | F_READ, - HFA384x_RID_TEMPTYPE, 0, 0, - prism2mib_uint32 }, { DIDmib_dot11phy_dot11PhyDSSSTable_dot11CurrentChannel, F_STA | F_READ, HFA384x_RID_CURRENTCHANNEL, 0, 0, prism2mib_uint32 }, - { DIDmib_dot11phy_dot11PhyDSSSTable_dot11CurrentCCAMode, - F_STA | F_READ, - HFA384x_RID_CCAMODE, 0, 0, - prism2mib_uint32 }, - - /* p2Table MIB's */ - - { DIDmib_p2_p2Table_p2MMTx, - F_STA | F_READ | F_WRITE, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2ReceivedFrameStatistics, - F_STA | F_READ, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2CommunicationTallies, - F_STA | F_READ, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2Comment, + { DIDmib_dot11phy_dot11PhyTxPowerTable_dot11CurrentTxPowerLevel, F_STA | F_READ | F_WRITE, - 0, 0, 0, - prism2mib_priv }, + HFA384x_RID_TXPOWERMAX, 0, 0, + prism2mib_uint32 }, /* p2Static MIB's */ @@ -467,374 +255,13 @@ static mibrec_t mibtab[] = { F_STA | F_READ | F_WRITE, HFA384x_RID_CNFPORTTYPE, 0, 0, prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfOwnMACAddress, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFOWNMACADDR, HFA384x_RID_CNFOWNMACADDR_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2Static_p2CnfDesiredSSID, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFDESIREDSSID, HFA384x_RID_CNFDESIREDSSID_LEN, 0, - prism2mib_bytestr2pstr }, - { DIDmib_p2_p2Static_p2CnfOwnChannel, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFOWNCHANNEL, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfOwnSSID, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFOWNSSID, HFA384x_RID_CNFOWNSSID_LEN, 0, - prism2mib_bytestr2pstr }, - { DIDmib_p2_p2Static_p2CnfOwnATIMWindow, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFOWNATIMWIN, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfSystemScale, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFSYSSCALE, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfMaxDataLength, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFMAXDATALEN, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfWDSAddress, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFWDSADDR, HFA384x_RID_CNFWDSADDR_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2Static_p2CnfPMEnabled, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFPMENABLED, 0, 0, - prism2mib_truth }, - { DIDmib_p2_p2Static_p2CnfPMEPS, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFPMEPS, 0, 0, - prism2mib_truth }, - { DIDmib_p2_p2Static_p2CnfMulticastReceive, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFMULTICASTRX, 0, 0, - prism2mib_truth }, - { DIDmib_p2_p2Static_p2CnfMaxSleepDuration, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFMAXSLEEPDUR, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfPMHoldoverDuration, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFPMHOLDDUR, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfOwnName, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFOWNNAME, HFA384x_RID_CNFOWNNAME_LEN, 0, - prism2mib_bytestr2pstr }, - { DIDmib_p2_p2Static_p2CnfOwnDTIMPeriod, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFOWNDTIMPER, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfWEPDefaultKeyID, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFWEPDEFAULTKEYID, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfWEPDefaultKey0, - F_STA | F_WRITE, - HFA384x_RID_CNFWEPDEFAULTKEY0, 0, 0, - prism2mib_wepdefaultkey }, - { DIDmib_p2_p2Static_p2CnfWEPDefaultKey1, - F_STA | F_WRITE, - HFA384x_RID_CNFWEPDEFAULTKEY1, 0, 0, - prism2mib_wepdefaultkey }, - { DIDmib_p2_p2Static_p2CnfWEPDefaultKey2, - F_STA | F_WRITE, - HFA384x_RID_CNFWEPDEFAULTKEY2, 0, 0, - prism2mib_wepdefaultkey }, - { DIDmib_p2_p2Static_p2CnfWEPDefaultKey3, - F_STA | F_WRITE, - HFA384x_RID_CNFWEPDEFAULTKEY3, 0, 0, - prism2mib_wepdefaultkey }, - { DIDmib_p2_p2Static_p2CnfWEPFlags, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFWEPFLAGS, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfAuthentication, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFAUTHENTICATION, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfTxControl, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFTXCONTROL, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfRoamingMode, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFROAMINGMODE, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfRcvCrcError, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFRCVCRCERROR, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfAltRetryCount, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFALTRETRYCNT, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfSTAPCFInfo, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFSTAPCFINFO, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfPriorityQUsage, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFPRIORITYQUSAGE, HFA384x_RID_CNFPRIOQUSAGE_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2Static_p2CnfTIMCtrl, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFTIMCTRL, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfThirty2Tally, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFTHIRTY2TALLY, 0, 0, - prism2mib_truth }, - { DIDmib_p2_p2Static_p2CnfShortPreamble, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFSHORTPREAMBLE, 0, 0, - prism2mib_preamble }, - { DIDmib_p2_p2Static_p2CnfAuthenticationRspTO, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFAUTHRSPTIMEOUT, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfBasicRates, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFBASICRATES, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfSupportedRates, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CNFSUPPRATES, 0, 0, - prism2mib_uint32 }, - - /* p2Dynamic MIB's */ - - { DIDmib_p2_p2Dynamic_p2CreateIBSS, - F_STA | F_READ | F_WRITE, - HFA384x_RID_CREATEIBSS, 0, 0, - prism2mib_truth }, - { DIDmib_p2_p2Dynamic_p2FragmentationThreshold, - F_STA | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH, 0, 0, - prism2mib_fragmentationthreshold }, - { DIDmib_p2_p2Dynamic_p2RTSThreshold, - F_STA | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2TxRateControl, - F_STA | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2PromiscuousMode, - F_STA | F_READ | F_WRITE, - HFA384x_RID_PROMISCMODE, 0, 0, - prism2mib_truth }, - - /* p2NIC MIB's */ - - { DIDmib_p2_p2NIC_p2MaxLoadTime, - F_STA | F_READ, - HFA384x_RID_MAXLOADTIME, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2NIC_p2DLBufferPage, - F_STA | F_READ, - HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 0, - prism2mib_uint32offset }, - { DIDmib_p2_p2NIC_p2DLBufferOffset, - F_STA | F_READ, - HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 1, - prism2mib_uint32offset }, - { DIDmib_p2_p2NIC_p2DLBufferLength, - F_STA | F_READ, - HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 2, - prism2mib_uint32offset }, - { DIDmib_p2_p2NIC_p2PRIIdentity, - F_STA | F_READ, - HFA384x_RID_PRIIDENTITY, HFA384x_RID_PRIIDENTITY_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2PRISupRange, - F_STA | F_READ, - HFA384x_RID_PRISUPRANGE, HFA384x_RID_PRISUPRANGE_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2CFIActRanges, - F_STA | F_READ, - HFA384x_RID_PRI_CFIACTRANGES, HFA384x_RID_CFIACTRANGES_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2BuildSequence, - F_STA | F_READ, - HFA384x_RID_BUILDSEQ, HFA384x_RID_BUILDSEQ_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2PrimaryFWID, - F_STA | F_READ, - 0, 0, 0, - prism2mib_fwid }, - { DIDmib_p2_p2NIC_p2SecondaryFWID, - F_STA | F_READ, - 0, 0, 0, - prism2mib_fwid }, - { DIDmib_p2_p2NIC_p2NICSerialNumber, - F_STA | F_READ, - HFA384x_RID_NICSERIALNUMBER, HFA384x_RID_NICSERIALNUMBER_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2NIC_p2NICIdentity, - F_STA | F_READ, - HFA384x_RID_NICIDENTITY, HFA384x_RID_NICIDENTITY_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2MFISupRange, - F_STA | F_READ, - HFA384x_RID_MFISUPRANGE, HFA384x_RID_MFISUPRANGE_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2CFISupRange, - F_STA | F_READ, - HFA384x_RID_CFISUPRANGE, HFA384x_RID_CFISUPRANGE_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2ChannelList, - F_STA | F_READ, - HFA384x_RID_CHANNELLIST, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2NIC_p2RegulatoryDomains, - F_STA | F_READ, - HFA384x_RID_REGULATORYDOMAINS, HFA384x_RID_REGULATORYDOMAINS_LEN, 0, - prism2mib_regulatorydomains }, - { DIDmib_p2_p2NIC_p2TempType, - F_STA | F_READ, - HFA384x_RID_TEMPTYPE, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2NIC_p2STAIdentity, - F_STA | F_READ, - HFA384x_RID_STAIDENTITY, HFA384x_RID_STAIDENTITY_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2STASupRange, - F_STA | F_READ, - HFA384x_RID_STASUPRANGE, HFA384x_RID_STASUPRANGE_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2MFIActRanges, - F_STA | F_READ, - HFA384x_RID_STA_MFIACTRANGES, HFA384x_RID_MFIACTRANGES_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2NIC_p2STACFIActRanges, - F_STA | F_READ, - HFA384x_RID_STA_CFIACTRANGES, HFA384x_RID_CFIACTRANGES2_LEN, 0, - prism2mib_uint32array }, /* p2MAC MIB's */ - { DIDmib_p2_p2MAC_p2PortStatus, - F_STA | F_READ, - HFA384x_RID_PORTSTATUS, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CurrentSSID, - F_STA | F_READ, - HFA384x_RID_CURRENTSSID, HFA384x_RID_CURRENTSSID_LEN, 0, - prism2mib_bytestr2pstr }, - { DIDmib_p2_p2MAC_p2CurrentBSSID, - F_STA | F_READ, - HFA384x_RID_CURRENTBSSID, HFA384x_RID_CURRENTBSSID_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2MAC_p2CommsQuality, - F_STA | F_READ, - HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2MAC_p2CommsQualityCQ, - F_STA | F_READ, - HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 0, - prism2mib_uint32offset }, - { DIDmib_p2_p2MAC_p2CommsQualityASL, - F_STA | F_READ, - HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 1, - prism2mib_uint32offset }, - { DIDmib_p2_p2MAC_p2CommsQualityANL, - F_STA | F_READ, - HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 2, - prism2mib_uint32offset }, - { DIDmib_p2_p2MAC_p2dbmCommsQuality, - F_STA | F_READ, - HFA384x_RID_DBMCOMMSQUALITY, HFA384x_RID_DBMCOMMSQUALITY_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2MAC_p2dbmCommsQualityCQ, - F_STA | F_READ, - HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 0, - prism2mib_uint32offset }, - { DIDmib_p2_p2MAC_p2dbmCommsQualityASL, - F_STA | F_READ, - HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 1, - prism2mib_uint32offset }, - { DIDmib_p2_p2MAC_p2dbmCommsQualityANL, - F_STA | F_READ, - HFA384x_RID_COMMSQUALITY, HFA384x_RID_COMMSQUALITY_LEN, 2, - prism2mib_uint32offset }, { DIDmib_p2_p2MAC_p2CurrentTxRate, F_STA | F_READ, HFA384x_RID_CURRENTTXRATE, 0, 0, prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CurrentBeaconInterval, - F_STA | F_READ, - HFA384x_RID_CURRENTBCNint, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2StaCurrentScaleThresholds, - F_STA | F_READ, - HFA384x_RID_CURRENTSCALETHRESH, HFA384x_RID_STACURSCALETHRESH_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2MAC_p2ProtocolRspTime, - F_STA | F_READ, - HFA384x_RID_PROTOCOLRSPTIME, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2ShortRetryLimit, - F_STA | F_READ, - HFA384x_RID_SHORTRETRYLIMIT, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2LongRetryLimit, - F_STA | F_READ, - HFA384x_RID_LONGRETRYLIMIT, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2MaxTransmitLifetime, - F_STA | F_READ, - HFA384x_RID_MAXTXLIFETIME, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2MaxReceiveLifetime, - F_STA | F_READ, - HFA384x_RID_MAXRXLIFETIME, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CFPollable, - F_STA | F_READ, - HFA384x_RID_CFPOLLABLE, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2AuthenticationAlgorithms, - F_STA | F_READ, - HFA384x_RID_AUTHALGORITHMS, HFA384x_RID_AUTHALGORITHMS_LEN, 0, - prism2mib_uint32array }, - { DIDmib_p2_p2MAC_p2PrivacyOptionImplemented, - F_STA | F_READ, - HFA384x_RID_PRIVACYOPTIMP, 0, 0, - prism2mib_uint32 }, - - /* p2Modem MIB's */ - - { DIDmib_p2_p2Modem_p2PHYType, - F_STA | F_READ, - HFA384x_RID_PHYTYPE, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Modem_p2CurrentChannel, - F_STA | F_READ, - HFA384x_RID_CURRENTCHANNEL, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Modem_p2CurrentPowerState, - F_STA | F_READ, - HFA384x_RID_CURRENTPOWERSTATE, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Modem_p2CCAMode, - F_STA | F_READ, - HFA384x_RID_CCAMODE, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Modem_p2TxPowerMax, - F_STA | F_READ | F_WRITE, - HFA384x_RID_TXPOWERMAX, 0, 0, - prism2mib_uint32 }, - { DIDmib_dot11phy_dot11PhyTxPowerTable_dot11CurrentTxPowerLevel, - F_STA | F_READ | F_WRITE, - HFA384x_RID_TXPOWERMAX, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Modem_p2SupportedDataRates, - F_STA | F_READ, - HFA384x_RID_SUPPORTEDDATARATES, HFA384x_RID_SUPPORTEDDATARATES_LEN, 0, - prism2mib_bytestr2pstr }, /* And finally, lnx mibs */ { DIDmib_lnx_lnxConfigTable_lnxRSNAIE, @@ -962,59 +389,6 @@ done: } /*---------------------------------------------------------------- -* prism2mib_bytestr2pstr -* -* Get/set pstr data to/from a byte string. -* -* MIB record parameters: -* parm1 Prism2 RID value. -* parm2 Number of bytes of RID data. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_bytestr2pstr( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - p80211pstrd_t *pstr = (p80211pstrd_t*) data; - u8 bytebuf[MIB_TMP_MAXLEN]; - hfa384x_bytestr_t *p2bytestr = (hfa384x_bytestr_t*) bytebuf; - - DBFENTER; - - if (isget) { - result = hfa384x_drvr_getconfig(hw, mib->parm1, bytebuf, mib->parm2); - prism2mgmt_bytestr2pstr(p2bytestr, pstr); - } else { - memset(bytebuf, 0, mib->parm2); - prism2mgmt_pstr2bytestr(p2bytestr, pstr); - result = hfa384x_drvr_setconfig(hw, mib->parm1, bytebuf, mib->parm2); - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- * prism2mib_bytearea2pstr * * Get/set pstr data to/from a byte area. @@ -1055,7 +429,7 @@ void *data) if (isget) { result = hfa384x_drvr_getconfig(hw, mib->parm1, bytebuf, mib->parm2); - prism2mgmt_bytearea2pstr(bytebuf, pstr, mib->parm2); + prism2mgmt_bytearea2pstr(bytebuf, pstr, mib->parm2); } else { memset(bytebuf, 0, mib->parm2); prism2mgmt_pstr2bytearea(bytebuf, pstr); @@ -1125,178 +499,6 @@ void *data) } /*---------------------------------------------------------------- -* prism2mib_uint32array -* -* Get/set an array of uint32 data. -* -* MIB record parameters: -* parm1 Prism2 RID value. -* parm2 Number of bytes of RID data. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_uint32array( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - u32 *uint32 = (u32 *) data; - u8 bytebuf[MIB_TMP_MAXLEN]; - u16 *wordbuf = (u16*) bytebuf; - int i, cnt; - - DBFENTER; - - cnt = mib->parm2 / sizeof(u16); - - if (isget) { - result = hfa384x_drvr_getconfig(hw, mib->parm1, wordbuf, mib->parm2); - for (i = 0; i < cnt; i++) - prism2mgmt_prism2int2p80211int(wordbuf+i, uint32+i); - } else { - for (i = 0; i < cnt; i++) - prism2mgmt_p80211int2prism2int(wordbuf+i, uint32+i); - result = hfa384x_drvr_setconfig(hw, mib->parm1, wordbuf, mib->parm2); - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- -* prism2mib_uint32offset -* -* Get/set a single element in an array of uint32 data. -* -* MIB record parameters: -* parm1 Prism2 RID value. -* parm2 Number of bytes of RID data. -* parm3 Element index. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_uint32offset( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - u32 *uint32 = (u32*) data; - u8 bytebuf[MIB_TMP_MAXLEN]; - u16 *wordbuf = (u16*) bytebuf; - u16 cnt; - - DBFENTER; - - cnt = mib->parm2 / sizeof(u16); - - result = hfa384x_drvr_getconfig(hw, mib->parm1, wordbuf, mib->parm2); - if (result == 0) { - if (isget) { - if (mib->parm3 < cnt) - prism2mgmt_prism2int2p80211int(wordbuf+mib->parm3, uint32); - else - *uint32 = 0; - } else { - if (mib->parm3 < cnt) { - prism2mgmt_p80211int2prism2int(wordbuf+mib->parm3, uint32); - result = hfa384x_drvr_setconfig(hw, mib->parm1, wordbuf, mib->parm2); - } - } - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- -* prism2mib_truth -* -* Get/set truth data. -* -* MIB record parameters: -* parm1 Prism2 RID value. -* parm2 Not used. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_truth( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - u32 *uint32 = (u32*) data; - u8 bytebuf[MIB_TMP_MAXLEN]; - u16 *wordbuf = (u16*) bytebuf; - - DBFENTER; - - if (isget) { - result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf); - *uint32 = (*wordbuf) ? - P80211ENUM_truth_true : P80211ENUM_truth_false; - } else { - *wordbuf = ((*uint32) == P80211ENUM_truth_true) ? 1 : 0; - result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf); - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- * prism2mib_flag * * Get/set a flag. @@ -1364,60 +566,6 @@ void *data) } /*---------------------------------------------------------------- -* prism2mib_regulatorydomains -* -* Get regulatory domain data. -* -* MIB record parameters: -* parm1 Prism2 RID value. -* parm2 Number of bytes of RID data. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_regulatorydomains( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - u32 cnt; - p80211pstrd_t *pstr = (p80211pstrd_t*) data; - u8 bytebuf[MIB_TMP_MAXLEN]; - u16 *wordbuf = (u16*) bytebuf; - - DBFENTER; - - result = 0; - - if (isget) { - result = hfa384x_drvr_getconfig(hw, mib->parm1, wordbuf, mib->parm2); - prism2mgmt_prism2int2p80211int(wordbuf, &cnt); - pstr->len = (u8) cnt; - memcpy(pstr->data, &wordbuf[1], pstr->len); - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- * prism2mib_wepdefaultkey * * Get/set WEP default keys. @@ -1472,114 +620,6 @@ void *data) } /*---------------------------------------------------------------- -* prism2mib_powermanagement -* -* Get/set 802.11 power management value. Note that this is defined differently -* by 802.11 and Prism2: -* -* Meaning 802.11 Prism2 -* active 1 false -* powersave 2 true -* -* MIB record parameters: -* parm1 Prism2 RID value. -* parm2 Not used. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_powermanagement( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - u32 *uint32 = (u32*) data; - u32 value; - - DBFENTER; - - if (isget) { - result = prism2mib_uint32(mib, isget, wlandev, hw, msg, &value); - *uint32 = (value == 0) ? 1 : 2; - } else { - value = ((*uint32) == 1) ? 0 : 1; - result = prism2mib_uint32(mib, isget, wlandev, hw, msg, &value); - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- -* prism2mib_preamble -* -* Get/set Prism2 short preamble -* -* MIB record parameters: -* parm1 Prism2 RID value. -* parm2 Not used. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_preamble( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - u32 *uint32 = (u32*) data; - u8 bytebuf[MIB_TMP_MAXLEN]; - u16 *wordbuf = (u16*) bytebuf; - - DBFENTER; - - if (isget) { - result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf); - *uint32 = *wordbuf; - } else { - *wordbuf = *uint32; - result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf); - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- * prism2mib_privacyinvoked * * Get/set the dot11PrivacyInvoked value. @@ -1725,260 +765,6 @@ void *data) } /*---------------------------------------------------------------- -* prism2mib_operationalrateset -* -* Get/set the operational rate set. -* -* MIB record parameters: -* parm1 Prism2 RID value. -* parm2 Not used. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_operationalrateset( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - p80211pstrd_t *pstr = (p80211pstrd_t *) data; - u8 bytebuf[MIB_TMP_MAXLEN]; - u16 *wordbuf = (u16*) bytebuf; - - DBFENTER; - - if (isget) { - result = hfa384x_drvr_getconfig16(hw, mib->parm1, wordbuf); - prism2mgmt_get_oprateset(wordbuf, pstr); - } else { - prism2mgmt_set_oprateset(wordbuf, pstr); - result = hfa384x_drvr_setconfig16(hw, mib->parm1, *wordbuf); - result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFSUPPRATES, *wordbuf); - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- -* prism2mib_fwid -* -* Get the firmware ID. -* -* MIB record parameters: -* parm1 Not used. -* parm2 Not used. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_fwid( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - p80211pstrd_t *pstr = (p80211pstrd_t *) data; - hfa384x_FWID_t fwid; - - DBFENTER; - - if (isget) { - result = hfa384x_drvr_getconfig(hw, HFA384x_RID_FWID, - &fwid, HFA384x_RID_FWID_LEN); - if (mib->did == DIDmib_p2_p2NIC_p2PrimaryFWID) { - fwid.primary[HFA384x_FWID_LEN - 1] = '\0'; - pstr->len = strlen(fwid.primary); - memcpy(pstr->data, fwid.primary, pstr->len); - } else { - fwid.secondary[HFA384x_FWID_LEN - 1] = '\0'; - pstr->len = strlen(fwid.secondary); - memcpy(pstr->data, fwid.secondary, pstr->len); - } - } else - result = 0; /* Should never happen. */ - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- -* prism2mib_authalg -* -* Get values from the AuhtenticationAlgorithmsTable. -* -* MIB record parameters: -* parm1 Table index (1-6). -* parm2 Not used. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_authalg( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - u32 *uint32 = (u32*) data; - - DBFENTER; - - /* MSM: pkx supplied code that code queries RID FD4D....but the f/w's - * results are bogus. Therefore, we have to simulate the appropriate - * results here in the driver based on our knowledge of existing MAC - * features. That's the whole point behind this ugly function. - */ - - if (isget) { - msg->resultcode.data = P80211ENUM_resultcode_success; - switch (mib->parm1) { - case 1: /* Open System */ - *uint32 = P80211ENUM_authalg_opensystem; - break; - case 2: /* SharedKey */ - *uint32 = P80211ENUM_authalg_sharedkey; - break; - default: - *uint32 = 0; - msg->resultcode.data = P80211ENUM_resultcode_not_supported; - break; - } - } - - DBFEXIT; - return(0); -} - -/*---------------------------------------------------------------- -* prism2mib_authalgenable -* -* Get/set the enable values from the AuhtenticationAlgorithmsTable. -* -* MIB record parameters: -* parm1 Table index (1-6). -* parm2 Not used. -* parm3 Not used. -* -* Arguments: -* mib MIB record. -* isget MIBGET/MIBSET flag. -* wlandev wlan device structure. -* priv "priv" structure. -* hw "hw" structure. -* msg Message structure. -* data Data buffer. -* -* Returns: -* 0 - Success. -* ~0 - Error. -* -----------------------------------------------------------------*/ - -static int prism2mib_authalgenable( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - u32 *uint32 = (u32*) data; - - int index; - u16 cnf_auth; - u16 mask; - - DBFENTER; - - index = mib->parm1 - 1; - - result = hfa384x_drvr_getconfig16( hw, - HFA384x_RID_CNFAUTHENTICATION, &cnf_auth); - WLAN_LOG_DEBUG(2,"cnfAuthentication0=%d, index=%d\n", cnf_auth, index); - - if (isget) { - if ( index == 0 || index == 1 ) { - *uint32 = (cnf_auth & (1<<index)) ? - P80211ENUM_truth_true: P80211ENUM_truth_false; - } else { - *uint32 = P80211ENUM_truth_false; - msg->resultcode.data = P80211ENUM_resultcode_not_supported; - } - } else { - if ( index == 0 || index == 1 ) { - mask = 1 << index; - if (*uint32==P80211ENUM_truth_true ) { - cnf_auth |= mask; - } else { - cnf_auth &= ~mask; - } - result = hfa384x_drvr_setconfig16( hw, - HFA384x_RID_CNFAUTHENTICATION, cnf_auth); - WLAN_LOG_DEBUG(2,"cnfAuthentication:=%d\n", cnf_auth); - if ( result ) { - WLAN_LOG_DEBUG(1,"Unable to set p2cnfAuthentication to %d\n", cnf_auth); - msg->resultcode.data = P80211ENUM_resultcode_implementation_failure; - } - } else { - msg->resultcode.data = P80211ENUM_resultcode_not_supported; - } - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- * prism2mib_priv * * Get/set values in the "priv" data structure. @@ -2011,114 +797,13 @@ hfa384x_t *hw, p80211msg_dot11req_mibset_t *msg, void *data) { - u32 *uint32 = (u32*) data; p80211pstrd_t *pstr = (p80211pstrd_t*) data; - int i, cnt, result; - - /* - ** "test" is a lot longer than necessary but who cares? ...as long as - ** it is long enough! - */ - - u8 test[sizeof(wlandev->rx) + sizeof(hw->tallies)]; + int result; DBFENTER; switch (mib->did) { - case DIDmib_p2_p2Table_p2ReceivedFrameStatistics: - - /* - ** Note: The values in this record are changed by the - ** interrupt handler and therefore cannot be guaranteed - ** to be stable while they are being copied. However, - ** the interrupt handler will take priority over this - ** code. Hence, if the same values are copied twice, - ** then we are ensured that the values have not been - ** changed. If they have, then just try again. Don't - ** try more than 10 times...if we still haven't got it, - ** then the values we do have are probably good enough. - ** This scheme for copying values is used in order to - ** prevent having to block the interrupt handler while - ** we copy the values. - */ - - if (isget) - for (i = 0; i < 10; i++) { - memcpy(data, &wlandev->rx, sizeof(wlandev->rx)); - memcpy(test, &wlandev->rx, sizeof(wlandev->rx)); - if (memcmp(data, test, sizeof(wlandev->rx)) == 0) break; - } - - break; - - case DIDmib_p2_p2Table_p2CommunicationTallies: - - /* - ** Note: The values in this record are changed by the - ** interrupt handler and therefore cannot be guaranteed - ** to be stable while they are being copied. See the - ** note above about copying values. - */ - - if (isget) { - result = hfa384x_drvr_commtallies(hw); - - /* ?????? We need to wait a bit here for the */ - /* tallies to get updated. ?????? */ - /* MSM: TODO: The right way to do this is to - * add a "commtallie" wait queue to the - * priv structure that gets run every time - * we receive a commtally info frame. - * This process would sleep on that - * queue and get awakened when the - * the requested info frame arrives. - * Don't have time to do and test this - * right now. - */ - - /* Ugh, this is nasty. */ - for (i = 0; i < 10; i++) { - memcpy(data, - &hw->tallies, - sizeof(hw->tallies)); - memcpy(test, - &hw->tallies, - sizeof(hw->tallies)); - if ( memcmp(data, - test, - sizeof(hw->tallies)) == 0) - break; - } - } - - break; - - case DIDmib_p2_p2Table_p2Comment: - - if (isget) { - pstr->len = strlen(hw->comment); - memcpy(pstr->data, hw->comment, pstr->len); - } else { - cnt = pstr->len; - if (cnt < 0) cnt = 0; - if (cnt >= sizeof(hw->comment)) - cnt = sizeof(hw->comment)-1; - memcpy(hw->comment, pstr->data, cnt); - pstr->data[cnt] = '\0'; - } - - break; - - case DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredBSSType: - - if (isget) - *uint32 = hw->dot11_desired_bss_type; - else - hw->dot11_desired_bss_type = *uint32; - - break; - case DIDmib_lnx_lnxConfigTable_lnxRSNAIE: { hfa384x_WPAData_t wpa; if (isget) { |