From pizza@shaftnet.org Mon Oct 27 12:10:14 2008 From: Solomon Peachy Date: Mon, 27 Oct 2008 11:14:01 -0400 Subject: Staging: wlan-ng: Eliminate a boatload of tertiaryAP-only code. To: greg@kroah.com Cc: mark@linux-wlan.com, Solomon Peachy Message-ID: <1225120446-2908-8-git-send-email-pizza@shaftnet.org> Signed-off-by: Solomon Peachy Signed-off-by: Greg Kroah-Hartman --- drivers/staging/wlan-ng/p80211metadef.h | 190 ----- drivers/staging/wlan-ng/p80211metastruct.h | 24 drivers/staging/wlan-ng/prism2mgmt.c | 169 ----- drivers/staging/wlan-ng/prism2mgmt.h | 2 drivers/staging/wlan-ng/prism2mib.c | 979 +++-------------------------- drivers/staging/wlan-ng/prism2sta.c | 8 6 files changed, 102 insertions(+), 1270 deletions(-) --- a/drivers/staging/wlan-ng/p80211metadef.h +++ b/drivers/staging/wlan-ng/p80211metadef.h @@ -1189,52 +1189,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(16) | \ P80211DID_MKITEM(2) | 0x00000000) -#define DIDmsg_p2req_channel_info \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(17)) -#define DIDmsg_p2req_channel_info_channellist \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(17) | \ - P80211DID_MKITEM(1) | 0x00000000) -#define DIDmsg_p2req_channel_info_channeldwelltime \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(17) | \ - P80211DID_MKITEM(2) | 0x00000000) -#define DIDmsg_p2req_channel_info_resultcode \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(17) | \ - P80211DID_MKITEM(3) | 0x00000000) -#define DIDmsg_p2req_channel_info_numchinfo \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(17) | \ - P80211DID_MKITEM(4) | 0x00000000) -#define DIDmsg_p2req_channel_info_results \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(18)) -#define DIDmsg_p2req_channel_info_results_channel \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(18) | \ - P80211DID_MKITEM(1) | 0x00000000) -#define DIDmsg_p2req_channel_info_results_resultcode \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(18) | \ - P80211DID_MKITEM(2) | 0x00000000) -#define DIDmsg_p2req_channel_info_results_avgnoiselevel \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(18) | \ - P80211DID_MKITEM(3) | 0x00000000) -#define DIDmsg_p2req_channel_info_results_peaknoiselevel \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(18) | \ - P80211DID_MKITEM(4) | 0x00000000) -#define DIDmsg_p2req_channel_info_results_bssactive \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(18) | \ - P80211DID_MKITEM(5) | 0x00000000) -#define DIDmsg_p2req_channel_info_results_pcfactive \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(18) | \ - P80211DID_MKITEM(6) | 0x00000000) #define DIDmsg_p2req_enable \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(19)) @@ -1258,22 +1212,10 @@ (P80211DID_MKSECTION(1) | \ P80211DID_MKGROUP(2) | \ P80211DID_MKITEM(1) | 0x18000000) -#define DIDmib_dot11smt_dot11StationConfigTable_dot11MediumOccupancyLimit \ - (P80211DID_MKSECTION(1) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(2) | 0x18000000) #define DIDmib_dot11smt_dot11StationConfigTable_dot11CFPollable \ (P80211DID_MKSECTION(1) | \ P80211DID_MKGROUP(2) | \ P80211DID_MKITEM(3) | 0x10000000) -#define DIDmib_dot11smt_dot11StationConfigTable_dot11CFPPeriod \ - (P80211DID_MKSECTION(1) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(4) | 0x18000000) -#define DIDmib_dot11smt_dot11StationConfigTable_dot11CFPMaxDuration \ - (P80211DID_MKSECTION(1) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(5) | 0x18000000) #define DIDmib_dot11smt_dot11StationConfigTable_dot11AuthenticationResponseTimeOut \ (P80211DID_MKSECTION(1) | \ P80211DID_MKGROUP(2) | \ @@ -1915,10 +1857,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(1) | \ P80211DID_MKITEM(1) | 0x18000000) -#define DIDmib_p2_p2Table_p2EarlyBeacon \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(1) | \ - P80211DID_MKITEM(2) | 0x18000000) #define DIDmib_p2_p2Table_p2ReceivedFrameStatistics \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(1) | \ @@ -1927,38 +1865,10 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(1) | \ P80211DID_MKITEM(4) | 0x10000000) -#define DIDmib_p2_p2Table_p2Authenticated \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(1) | \ - P80211DID_MKITEM(5) | 0x10000000) -#define DIDmib_p2_p2Table_p2Associated \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(1) | \ - P80211DID_MKITEM(6) | 0x10000000) -#define DIDmib_p2_p2Table_p2PowerSaveUserCount \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(1) | \ - P80211DID_MKITEM(7) | 0x10000000) #define DIDmib_p2_p2Table_p2Comment \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(1) | \ P80211DID_MKITEM(8) | 0x18000000) -#define DIDmib_p2_p2Table_p2AccessMode \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(1) | \ - P80211DID_MKITEM(9) | 0x18000000) -#define DIDmib_p2_p2Table_p2AccessAllow \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(1) | \ - P80211DID_MKITEM(10) | 0x18000000) -#define DIDmib_p2_p2Table_p2AccessDeny \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(1) | \ - P80211DID_MKITEM(11) | 0x18000000) -#define DIDmib_p2_p2Table_p2ChannelInfoResults \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(1) | \ - P80211DID_MKITEM(12) | 0x10000000) #define DIDmib_p2_p2Static \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2)) @@ -2026,34 +1936,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ P80211DID_MKITEM(16) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfWDSAddress1 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(17) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfWDSAddress2 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(18) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfWDSAddress3 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(19) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfWDSAddress4 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(20) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfWDSAddress5 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(21) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfWDSAddress6 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(22) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfMulticastPMBuffering \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(23) | 0x18000000) #define DIDmib_p2_p2Static_p2CnfWEPDefaultKeyID \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ @@ -2082,10 +1964,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ P80211DID_MKITEM(30) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfMaxAssociatedStations \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(31) | 0x18000000) #define DIDmib_p2_p2Static_p2CnfTxControl \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ @@ -2094,10 +1972,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ P80211DID_MKITEM(33) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfHostAuthentication \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(34) | 0x18000000) #define DIDmib_p2_p2Static_p2CnfRcvCrcError \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ @@ -2106,26 +1980,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ P80211DID_MKITEM(36) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfBeaconInterval \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(37) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfMediumOccupancyLimit \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(38) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfCFPPeriod \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(39) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfCFPMaxDuration \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(40) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfCFPFlags \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(41) | 0x18000000) #define DIDmib_p2_p2Static_p2CnfSTAPCFInfo \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ @@ -2142,18 +1996,10 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ P80211DID_MKITEM(45) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfEnhSecurity \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(46) | 0x18000000) #define DIDmib_p2_p2Static_p2CnfShortPreamble \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ P80211DID_MKITEM(47) | 0x18000000) -#define DIDmib_p2_p2Static_p2CnfExcludeLongPreamble \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(2) | \ - P80211DID_MKITEM(48) | 0x18000000) #define DIDmib_p2_p2Static_p2CnfAuthenticationRspTO \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(2) | \ @@ -2367,10 +2213,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(5) | \ P80211DID_MKITEM(21) | 0x10000000) -#define DIDmib_p2_p2NIC_p2TertiaryFWID \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(5) | \ - P80211DID_MKITEM(22) | 0x10000000) #define DIDmib_p2_p2MAC \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(6)) @@ -2430,10 +2272,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(6) | \ P80211DID_MKITEM(14) | 0x10000000) -#define DIDmib_p2_p2MAC_p2APCurrentScaleThresholds \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(6) | \ - P80211DID_MKITEM(15) | 0x10000000) #define DIDmib_p2_p2MAC_p2ProtocolRspTime \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(6) | \ @@ -2466,34 +2304,6 @@ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(6) | \ P80211DID_MKITEM(23) | 0x10000000) -#define DIDmib_p2_p2MAC_p2CurrentTxRate1 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(6) | \ - P80211DID_MKITEM(24) | 0x10000000) -#define DIDmib_p2_p2MAC_p2CurrentTxRate2 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(6) | \ - P80211DID_MKITEM(25) | 0x10000000) -#define DIDmib_p2_p2MAC_p2CurrentTxRate3 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(6) | \ - P80211DID_MKITEM(26) | 0x10000000) -#define DIDmib_p2_p2MAC_p2CurrentTxRate4 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(6) | \ - P80211DID_MKITEM(27) | 0x10000000) -#define DIDmib_p2_p2MAC_p2CurrentTxRate5 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(6) | \ - P80211DID_MKITEM(28) | 0x10000000) -#define DIDmib_p2_p2MAC_p2CurrentTxRate6 \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(6) | \ - P80211DID_MKITEM(29) | 0x10000000) -#define DIDmib_p2_p2MAC_p2OwnMACAddress \ - (P80211DID_MKSECTION(5) | \ - P80211DID_MKGROUP(6) | \ - P80211DID_MKITEM(30) | 0x10000000) #define DIDmib_p2_p2Modem \ (P80211DID_MKSECTION(5) | \ P80211DID_MKGROUP(7)) --- a/drivers/staging/wlan-ng/p80211metastruct.h +++ b/drivers/staging/wlan-ng/p80211metastruct.h @@ -609,30 +609,6 @@ typedef struct p80211msg_p2req_dump_stat p80211item_uint32_t resultcode ; } __WLAN_ATTRIB_PACK__ p80211msg_p2req_dump_state_t; -typedef struct p80211msg_p2req_channel_info -{ - UINT32 msgcode ; - UINT32 msglen ; - UINT8 devname[WLAN_DEVNAMELEN_MAX] ; - p80211item_uint32_t channellist ; - p80211item_uint32_t channeldwelltime ; - p80211item_uint32_t resultcode ; - p80211item_uint32_t numchinfo ; -} __WLAN_ATTRIB_PACK__ p80211msg_p2req_channel_info_t; - -typedef struct p80211msg_p2req_channel_info_results -{ - UINT32 msgcode ; - UINT32 msglen ; - UINT8 devname[WLAN_DEVNAMELEN_MAX] ; - p80211item_uint32_t channel ; - p80211item_uint32_t resultcode ; - p80211item_uint32_t avgnoiselevel ; - p80211item_uint32_t peaknoiselevel ; - p80211item_uint32_t bssactive ; - p80211item_uint32_t pcfactive ; -} __WLAN_ATTRIB_PACK__ p80211msg_p2req_channel_info_results_t; - typedef struct p80211msg_p2req_enable { UINT32 msgcode ; --- a/drivers/staging/wlan-ng/prism2mgmt.c +++ b/drivers/staging/wlan-ng/prism2mgmt.c @@ -2306,175 +2306,6 @@ failed: } /*---------------------------------------------------------------- -* prism2mgmt_channel_info -* -* Issues a ChannelInfoRequest. -* -* Arguments: -* wlandev wlan device structure -* msgp ptr to msg buffer -* -* Returns: -* 0 success and done -* <0 success, but we're waiting for something to finish. -* >0 an error occurred while handling the message. -* Side effects: -* -* Call context: -* process thread (usually) -----------------------------------------------------------------*/ -int prism2mgmt_channel_info(wlandevice_t *wlandev, void *msgp) -{ - p80211msg_p2req_channel_info_t *msg=msgp; - hfa384x_t *hw = wlandev->priv; - int result, i, n=0; - UINT16 channel_mask=0; - hfa384x_ChannelInfoRequest_data_t chinforeq; - // unsigned long now; - - DBFENTER; - - if (!hw->ap) { - - /*** STATION ***/ - - /* Not supported in STA f/w */ - P80211_SET_INT(msg->resultcode, P80211ENUM_resultcode_not_supported); - goto done; - } - - /*** ACCESS POINT ***/ - -#define CHINFO_TIMEOUT 2 - - P80211_SET_INT(msg->resultcode, P80211ENUM_resultcode_success); - - /* setting default value for channellist = all channels */ - if (!msg->channellist.data) { - P80211_SET_INT(msg->channellist, 0x00007FFE); - } - /* setting default value for channeldwelltime = 100 ms */ - if (!msg->channeldwelltime.data) { - P80211_SET_INT(msg->channeldwelltime, 100); - } - channel_mask = (UINT16) (msg->channellist.data >> 1); - for (i=0, n=0; i < 14; i++) { - if (channel_mask & (1<numchinfo, n); - chinforeq.channelList = host2hfa384x_16(channel_mask); - chinforeq.channelDwellTime = host2hfa384x_16(msg->channeldwelltime.data); - - atomic_set(&hw->channel_info.done, 1); - - result = hfa384x_drvr_setconfig( hw, HFA384x_RID_CHANNELINFOREQUEST, - &chinforeq, HFA384x_RID_CHANNELINFOREQUEST_LEN); - if ( result ) { - WLAN_LOG_ERROR("setconfig(CHANNELINFOREQUEST) failed. result=%d\n", - result); - msg->resultcode.data = P80211ENUM_resultcode_not_supported; - goto done; - } - /* - now = jiffies; - while (atomic_read(&hw->channel_info.done) != 1) { - if ((jiffies - now) > CHINFO_TIMEOUT*HZ) { - WLAN_LOG_NOTICE("ChannelInfo results not received in %d seconds, aborting.\n", - CHINFO_TIMEOUT); - msg->resultcode.data = P80211ENUM_resultcode_timeout; - goto done; - } - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(HZ/4); - current->state = TASK_RUNNING; - } - */ - -done: - - DBFEXIT; - return 0; -} - -/*---------------------------------------------------------------- -* prism2mgmt_channel_info_results -* -* Returns required ChannelInfo result. -* -* Arguments: -* wlandev wlan device structure -* msgp ptr to msg buffer -* -* Returns: -* 0 success and done -* <0 success, but we're waiting for something to finish. -* >0 an error occurred while handling the message. -* Side effects: -* -* Call context: -* process thread (usually) -----------------------------------------------------------------*/ -int prism2mgmt_channel_info_results(wlandevice_t *wlandev, void *msgp) -{ - hfa384x_t *hw = wlandev->priv; - - p80211msg_p2req_channel_info_results_t *msg=msgp; - int result=0; - int channel; - - DBFENTER; - - if (!hw->ap) { - - /*** STATION ***/ - - /* Not supported in STA f/w */ - P80211_SET_INT(msg->resultcode, P80211ENUM_resultcode_not_supported); - goto done; - } - - /*** ACCESS POINT ***/ - - switch (atomic_read(&hw->channel_info.done)) { - case 0: msg->resultcode.status = P80211ENUM_msgitem_status_no_value; - goto done; - case 1: msg->resultcode.status = P80211ENUM_msgitem_status_incomplete_itemdata; - goto done; - } - - P80211_SET_INT(msg->resultcode, P80211ENUM_resultcode_success); - channel=msg->channel.data-1; - - if (channel < 0 || ! (hw->channel_info.results.scanchannels & 1<resultcode.data = P80211ENUM_resultcode_invalid_parameters; - goto done; - } - WLAN_LOG_DEBUG(2, "chinfo_results: channel %d, avg/peak level=%d/%d dB, active=%d\n", - channel+1, - hw->channel_info.results.result[channel].anl, - hw->channel_info.results.result[channel].pnl, - hw->channel_info.results.result[channel].active - ); - P80211_SET_INT(msg->avgnoiselevel, hw->channel_info.results.result[channel].anl); - P80211_SET_INT(msg->peaknoiselevel, hw->channel_info.results.result[channel].pnl); - P80211_SET_INT(msg->bssactive, hw->channel_info.results.result[channel].active & - HFA384x_CHINFORESULT_BSSACTIVE - ? P80211ENUM_truth_true - : P80211ENUM_truth_false) ; - P80211_SET_INT(msg->pcfactive, hw->channel_info.results.result[channel].active & - HFA384x_CHINFORESULT_PCFACTIVE - ? P80211ENUM_truth_true - : P80211ENUM_truth_false) ; - -done: - DBFEXIT; - return result; -} - - -/*---------------------------------------------------------------- * prism2mgmt_autojoin * * Associate with an ESS. --- a/drivers/staging/wlan-ng/prism2mgmt.h +++ b/drivers/staging/wlan-ng/prism2mgmt.h @@ -129,8 +129,6 @@ int prism2mgmt_flashdl_write(wlandevice_ int prism2mgmt_mm_state(wlandevice_t *wlandev, void *msgp); int prism2mgmt_dump_state(wlandevice_t *wlandev, void *msgp); int prism2mgmt_enable(wlandevice_t *wlandev, void *msgp); -int prism2mgmt_channel_info(wlandevice_t *wlandev, void *msgp); -int prism2mgmt_channel_info_results(wlandevice_t *wlandev, void *msgp); int prism2mgmt_autojoin(wlandevice_t *wlandev, void *msgp); /*--------------------------------------------------------------- --- a/drivers/staging/wlan-ng/prism2mib.c +++ b/drivers/staging/wlan-ng/prism2mib.c @@ -93,10 +93,9 @@ /*================================================================*/ /* Local Types */ -#define F_AP 0x1 /* MIB is supported on Access Points. */ -#define F_STA 0x2 /* MIB is supported on stations. */ -#define F_READ 0x4 /* MIB may be read. */ -#define F_WRITE 0x8 /* MIB may be written. */ +#define F_STA 0x1 /* MIB is supported on stations. */ +#define F_READ 0x2 /* MIB may be read. */ +#define F_WRITE 0x4 /* MIB may be written. */ typedef struct mibrec { @@ -180,14 +179,6 @@ hfa384x_t *hw, p80211msg_dot11req_mibset_t *msg, void *data); -static int prism2mib_appcfinfoflag( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data); - static int prism2mib_regulatorydomains( mibrec_t *mib, int isget, @@ -284,26 +275,6 @@ hfa384x_t *hw, p80211msg_dot11req_mibset_t *msg, void *data); -static void prism2mib_priv_authlist( -hfa384x_t *hw, -prism2sta_authlist_t *list); - -static void prism2mib_priv_accessmode( -hfa384x_t *hw, -UINT32 mode); - -static void prism2mib_priv_accessallow( -hfa384x_t *hw, -p80211macarray_t *macarray); - -static void prism2mib_priv_accessdeny( -hfa384x_t *hw, -p80211macarray_t *macarray); - -static void prism2mib_priv_deauthenticate( -hfa384x_t *hw, -UINT8 *addr); - /*================================================================*/ /* Local Static Definitions */ @@ -312,31 +283,19 @@ static mibrec_t mibtab[] = { /* dot11smt MIB's */ { DIDmib_dot11smt_dot11StationConfigTable_dot11StationID, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFOWNMACADDR, HFA384x_RID_CNFOWNMACADDR_LEN, 0, prism2mib_bytearea2pstr }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11MediumOccupancyLimit, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPPCFINFO, HFA384x_RID_CNFAPPCFINFO_LEN, 0, - prism2mib_uint32offset }, { DIDmib_dot11smt_dot11StationConfigTable_dot11CFPollable, F_STA | F_READ, HFA384x_RID_CFPOLLABLE, 0, 0, prism2mib_uint32 }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11CFPPeriod, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPPCFINFO, HFA384x_RID_CNFAPPCFINFO_LEN, 1, - prism2mib_uint32offset }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11CFPMaxDuration, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPPCFINFO, HFA384x_RID_CNFAPPCFINFO_LEN, 2, - prism2mib_uint32offset }, { DIDmib_dot11smt_dot11StationConfigTable_dot11AuthenticationResponseTimeOut, F_STA | F_READ | F_WRITE, HFA384x_RID_CNFAUTHRSPTIMEOUT, 0, 0, prism2mib_uint32 }, { DIDmib_dot11smt_dot11StationConfigTable_dot11PrivacyOptionImplemented, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PRIVACYOPTIMP, 0, 0, prism2mib_uint32 }, { DIDmib_dot11smt_dot11StationConfigTable_dot11PowerManagementMode, @@ -355,139 +314,123 @@ static mibrec_t mibtab[] = { F_STA | F_READ | F_WRITE, HFA384x_RID_TXRATECNTL, 0, 0, prism2mib_operationalrateset }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11OperationalRateSet, - F_AP | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL0, 0, 0, - prism2mib_operationalrateset }, - { DIDmib_dot11smt_dot11StationConfigTable_dot11BeaconPeriod, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPBCNINT, 0, 0, - prism2mib_uint32 }, { DIDmib_dot11smt_dot11StationConfigTable_dot11DTIMPeriod, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFOWNDTIMPER, 0, 0, prism2mib_uint32 }, { DIDmib_dot11smt_dot11StationConfigTable_dot11AssociationResponseTimeOut, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PROTOCOLRSPTIME, 0, 0, prism2mib_uint32 }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm1, - F_AP | F_STA | F_READ, + F_STA | F_READ, 1, 0, 0, prism2mib_authalg }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm2, - F_AP | F_STA | F_READ, + F_STA | F_READ, 2, 0, 0, prism2mib_authalg }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm3, - F_AP | F_STA | F_READ, + F_STA | F_READ, 3, 0, 0, prism2mib_authalg }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm4, - F_AP | F_STA | F_READ, + F_STA | F_READ, 4, 0, 0, prism2mib_authalg }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm5, - F_AP | F_STA | F_READ, + F_STA | F_READ, 5, 0, 0, prism2mib_authalg }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithm6, - F_AP | F_STA | F_READ, + F_STA | F_READ, 6, 0, 0, prism2mib_authalg }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable1, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, 1, 0, 0, prism2mib_authalgenable }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable2, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, 2, 0, 0, prism2mib_authalgenable }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable3, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, 3, 0, 0, prism2mib_authalgenable }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable4, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, 4, 0, 0, prism2mib_authalgenable }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable5, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, 5, 0, 0, prism2mib_authalgenable }, { DIDmib_dot11smt_dot11AuthenticationAlgorithmsTable_dot11AuthenticationAlgorithmsEnable6, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, 6, 0, 0, prism2mib_authalgenable }, { DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey0, - F_AP | F_STA | F_WRITE, + F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY0, 0, 0, prism2mib_wepdefaultkey }, { DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey1, - F_AP | F_STA | F_WRITE, + F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY1, 0, 0, prism2mib_wepdefaultkey }, { DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey2, - F_AP | F_STA | F_WRITE, + F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY2, 0, 0, prism2mib_wepdefaultkey }, { DIDmib_dot11smt_dot11WEPDefaultKeysTable_dot11WEPDefaultKey3, - F_AP | F_STA | F_WRITE, + F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY3, 0, 0, prism2mib_wepdefaultkey }, { DIDmib_dot11smt_dot11PrivacyTable_dot11PrivacyInvoked, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFWEPFLAGS, HFA384x_WEPFLAGS_PRIVINVOKED, 0, prism2mib_privacyinvoked }, { DIDmib_dot11smt_dot11PrivacyTable_dot11WEPDefaultKeyID, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEYID, 0, 0, prism2mib_uint32 }, { DIDmib_dot11smt_dot11PrivacyTable_dot11ExcludeUnencrypted, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFWEPFLAGS, HFA384x_WEPFLAGS_EXCLUDE, 0, prism2mib_excludeunencrypted }, { DIDmib_dot11phy_dot11PhyOperationTable_dot11ShortPreambleEnabled, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFSHORTPREAMBLE, 0, 0, prism2mib_preamble }, /* dot11mac MIB's */ { DIDmib_dot11mac_dot11OperationTable_dot11MACAddress, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFOWNMACADDR, HFA384x_RID_CNFOWNMACADDR_LEN, 0, prism2mib_bytearea2pstr }, { DIDmib_dot11mac_dot11OperationTable_dot11RTSThreshold, F_STA | F_READ | F_WRITE, HFA384x_RID_RTSTHRESH, 0, 0, prism2mib_uint32 }, - { DIDmib_dot11mac_dot11OperationTable_dot11RTSThreshold, - F_AP | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH0, 0, 0, - prism2mib_uint32 }, { DIDmib_dot11mac_dot11OperationTable_dot11ShortRetryLimit, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_SHORTRETRYLIMIT, 0, 0, prism2mib_uint32 }, { DIDmib_dot11mac_dot11OperationTable_dot11LongRetryLimit, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_LONGRETRYLIMIT, 0, 0, prism2mib_uint32 }, { DIDmib_dot11mac_dot11OperationTable_dot11FragmentationThreshold, F_STA | F_READ | F_WRITE, HFA384x_RID_FRAGTHRESH, 0, 0, prism2mib_fragmentationthreshold }, - { DIDmib_dot11mac_dot11OperationTable_dot11FragmentationThreshold, - F_AP | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH0, 0, 0, - prism2mib_fragmentationthreshold }, { DIDmib_dot11mac_dot11OperationTable_dot11MaxTransmitMSDULifetime, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_MAXTXLIFETIME, 0, 0, prism2mib_uint32 }, { DIDmib_dot11mac_dot11OperationTable_dot11MaxReceiveLifetime, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_MAXRXLIFETIME, 0, 0, prism2mib_uint32 }, { DIDmib_dot11mac_dot11GroupAddressesTable_dot11Address1, @@ -622,74 +565,38 @@ static mibrec_t mibtab[] = { /* dot11phy MIB's */ { DIDmib_dot11phy_dot11PhyOperationTable_dot11PHYType, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PHYTYPE, 0, 0, prism2mib_uint32 }, { DIDmib_dot11phy_dot11PhyOperationTable_dot11TempType, - F_AP | F_STA | F_READ, + 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_dot11CurrentChannel, - F_AP | F_READ, - HFA384x_RID_CNFOWNCHANNEL, 0, 0, - prism2mib_uint32 }, { DIDmib_dot11phy_dot11PhyDSSSTable_dot11CurrentCCAMode, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_CCAMODE, 0, 0, prism2mib_uint32 }, /* p2Table MIB's */ { DIDmib_p2_p2Table_p2MMTx, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, 0, 0, 0, prism2mib_priv }, - { DIDmib_p2_p2Table_p2EarlyBeacon, - F_AP | F_READ | F_WRITE, - BIT7, 0, 0, - prism2mib_appcfinfoflag }, { DIDmib_p2_p2Table_p2ReceivedFrameStatistics, - F_AP | F_STA | F_READ, + F_STA | F_READ, 0, 0, 0, prism2mib_priv }, { DIDmib_p2_p2Table_p2CommunicationTallies, - F_AP | F_STA | F_READ, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2Authenticated, - F_AP | F_READ, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2Associated, - F_AP | F_READ, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2PowerSaveUserCount, - F_AP | F_READ, + F_STA | F_READ, 0, 0, 0, prism2mib_priv }, { DIDmib_p2_p2Table_p2Comment, - F_AP | F_STA | F_READ | F_WRITE, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2AccessMode, - F_AP | F_READ | F_WRITE, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2AccessAllow, - F_AP | F_READ | F_WRITE, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2AccessDeny, - F_AP | F_READ | F_WRITE, - 0, 0, 0, - prism2mib_priv }, - { DIDmib_p2_p2Table_p2ChannelInfoResults, - F_AP | F_READ, + F_STA | F_READ | F_WRITE, 0, 0, 0, prism2mib_priv }, @@ -700,7 +607,7 @@ static mibrec_t mibtab[] = { HFA384x_RID_CNFPORTTYPE, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfOwnMACAddress, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFOWNMACADDR, HFA384x_RID_CNFOWNMACADDR_LEN, 0, prism2mib_bytearea2pstr }, { DIDmib_p2_p2Static_p2CnfDesiredSSID, @@ -708,11 +615,11 @@ static mibrec_t mibtab[] = { HFA384x_RID_CNFDESIREDSSID, HFA384x_RID_CNFDESIREDSSID_LEN, 0, prism2mib_bytestr2pstr }, { DIDmib_p2_p2Static_p2CnfOwnChannel, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFOWNCHANNEL, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfOwnSSID, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFOWNSSID, HFA384x_RID_CNFOWNSSID_LEN, 0, prism2mib_bytestr2pstr }, { DIDmib_p2_p2Static_p2CnfOwnATIMWindow, @@ -720,11 +627,11 @@ static mibrec_t mibtab[] = { HFA384x_RID_CNFOWNATIMWIN, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfSystemScale, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFSYSSCALE, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfMaxDataLength, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFMAXDATALEN, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfWDSAddress, @@ -752,151 +659,87 @@ static mibrec_t mibtab[] = { HFA384x_RID_CNFPMHOLDDUR, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfOwnName, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFOWNNAME, HFA384x_RID_CNFOWNNAME_LEN, 0, prism2mib_bytestr2pstr }, { DIDmib_p2_p2Static_p2CnfOwnDTIMPeriod, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFOWNDTIMPER, 0, 0, prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfWDSAddress1, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFWDSADDR1, HFA384x_RID_CNFWDSADDR1_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2Static_p2CnfWDSAddress2, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFWDSADDR2, HFA384x_RID_CNFWDSADDR2_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2Static_p2CnfWDSAddress3, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFWDSADDR3, HFA384x_RID_CNFWDSADDR3_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2Static_p2CnfWDSAddress4, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFWDSADDR4, HFA384x_RID_CNFWDSADDR4_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2Static_p2CnfWDSAddress5, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFWDSADDR5, HFA384x_RID_CNFWDSADDR5_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2Static_p2CnfWDSAddress6, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFWDSADDR6, HFA384x_RID_CNFWDSADDR6_LEN, 0, - prism2mib_bytearea2pstr }, - { DIDmib_p2_p2Static_p2CnfMulticastPMBuffering, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFMCASTPMBUFF, 0, 0, - prism2mib_truth }, { DIDmib_p2_p2Static_p2CnfWEPDefaultKeyID, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEYID, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfWEPDefaultKey0, - F_AP | F_STA | F_WRITE, + F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY0, 0, 0, prism2mib_wepdefaultkey }, { DIDmib_p2_p2Static_p2CnfWEPDefaultKey1, - F_AP | F_STA | F_WRITE, + F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY1, 0, 0, prism2mib_wepdefaultkey }, { DIDmib_p2_p2Static_p2CnfWEPDefaultKey2, - F_AP | F_STA | F_WRITE, + F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY2, 0, 0, prism2mib_wepdefaultkey }, { DIDmib_p2_p2Static_p2CnfWEPDefaultKey3, - F_AP | F_STA | F_WRITE, + F_STA | F_WRITE, HFA384x_RID_CNFWEPDEFAULTKEY3, 0, 0, prism2mib_wepdefaultkey }, { DIDmib_p2_p2Static_p2CnfWEPFlags, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFWEPFLAGS, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfAuthentication, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFAUTHENTICATION, 0, 0, prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfMaxAssociatedStations, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFMAXASSOCSTATIONS, 0, 0, - prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfTxControl, - F_AP | F_STA | F_READ | F_WRITE, + 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_p2CnfHostAuthentication, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFHOSTAUTHASSOC, 0, 0, - prism2mib_truth }, { DIDmib_p2_p2Static_p2CnfRcvCrcError, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFRCVCRCERROR, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfAltRetryCount, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFALTRETRYCNT, 0, 0, prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfBeaconInterval, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPBCNINT, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Static_p2CnfMediumOccupancyLimit, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPPCFINFO, HFA384x_RID_CNFAPPCFINFO_LEN, 0, - prism2mib_uint32offset }, - { DIDmib_p2_p2Static_p2CnfCFPPeriod, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPPCFINFO, HFA384x_RID_CNFAPPCFINFO_LEN, 1, - prism2mib_uint32offset }, - { DIDmib_p2_p2Static_p2CnfCFPMaxDuration, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPPCFINFO, HFA384x_RID_CNFAPPCFINFO_LEN, 2, - prism2mib_uint32offset }, - { DIDmib_p2_p2Static_p2CnfCFPFlags, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFAPPCFINFO, HFA384x_RID_CNFAPPCFINFO_LEN, 3, - prism2mib_uint32offset }, { DIDmib_p2_p2Static_p2CnfSTAPCFInfo, F_STA | F_READ | F_WRITE, HFA384x_RID_CNFSTAPCFINFO, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfPriorityQUsage, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFPRIORITYQUSAGE, HFA384x_RID_CNFPRIOQUSAGE_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2Static_p2CnfTIMCtrl, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFTIMCTRL, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfThirty2Tally, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFTHIRTY2TALLY, 0, 0, prism2mib_truth }, - { DIDmib_p2_p2Static_p2CnfEnhSecurity, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFENHSECURITY, 0, 0, - prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfShortPreamble, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFSHORTPREAMBLE, 0, 0, prism2mib_preamble }, - { DIDmib_p2_p2Static_p2CnfExcludeLongPreamble, - F_AP | F_READ | F_WRITE, - HFA384x_RID_CNFEXCLONGPREAMBLE, 0, 0, - prism2mib_truth }, { DIDmib_p2_p2Static_p2CnfAuthenticationRspTO, F_STA | F_READ | F_WRITE, HFA384x_RID_CNFAUTHRSPTIMEOUT, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfBasicRates, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFBASICRATES, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Static_p2CnfSupportedRates, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_CNFSUPPRATES, 0, 0, prism2mib_uint32 }, @@ -922,186 +765,98 @@ static mibrec_t mibtab[] = { F_STA | F_READ | F_WRITE, HFA384x_RID_PROMISCMODE, 0, 0, prism2mib_truth }, - { DIDmib_p2_p2Dynamic_p2FragmentationThreshold0, - F_AP | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH0, 0, 0, - prism2mib_fragmentationthreshold }, - { DIDmib_p2_p2Dynamic_p2FragmentationThreshold1, - F_AP | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH1, 0, 0, - prism2mib_fragmentationthreshold }, - { DIDmib_p2_p2Dynamic_p2FragmentationThreshold2, - F_AP | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH2, 0, 0, - prism2mib_fragmentationthreshold }, - { DIDmib_p2_p2Dynamic_p2FragmentationThreshold3, - F_AP | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH3, 0, 0, - prism2mib_fragmentationthreshold }, - { DIDmib_p2_p2Dynamic_p2FragmentationThreshold4, - F_AP | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH4, 0, 0, - prism2mib_fragmentationthreshold }, - { DIDmib_p2_p2Dynamic_p2FragmentationThreshold5, - F_AP | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH5, 0, 0, - prism2mib_fragmentationthreshold }, - { DIDmib_p2_p2Dynamic_p2FragmentationThreshold6, - F_AP | F_READ | F_WRITE, - HFA384x_RID_FRAGTHRESH6, 0, 0, - prism2mib_fragmentationthreshold }, - { DIDmib_p2_p2Dynamic_p2RTSThreshold0, - F_AP | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH0, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2RTSThreshold1, - F_AP | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH1, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2RTSThreshold2, - F_AP | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH2, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2RTSThreshold3, - F_AP | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH3, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2RTSThreshold4, - F_AP | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH4, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2RTSThreshold5, - F_AP | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH5, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2RTSThreshold6, - F_AP | F_READ | F_WRITE, - HFA384x_RID_RTSTHRESH6, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2TxRateControl0, - F_AP | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL0, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2TxRateControl1, - F_AP | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL1, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2TxRateControl2, - F_AP | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL2, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2TxRateControl3, - F_AP | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL3, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2TxRateControl4, - F_AP | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL4, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2TxRateControl5, - F_AP | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL5, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2Dynamic_p2TxRateControl6, - F_AP | F_READ | F_WRITE, - HFA384x_RID_TXRATECNTL6, 0, 0, - prism2mib_uint32 }, /* p2Behavior MIB's */ { DIDmib_p2_p2Behavior_p2TickTime, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_ITICKTIME, 0, 0, prism2mib_uint32 }, /* p2NIC MIB's */ { DIDmib_p2_p2NIC_p2MaxLoadTime, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_MAXLOADTIME, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2NIC_p2DLBufferPage, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 0, prism2mib_uint32offset }, { DIDmib_p2_p2NIC_p2DLBufferOffset, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 1, prism2mib_uint32offset }, { DIDmib_p2_p2NIC_p2DLBufferLength, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_DOWNLOADBUFFER, HFA384x_RID_DOWNLOADBUFFER_LEN, 2, prism2mib_uint32offset }, { DIDmib_p2_p2NIC_p2PRIIdentity, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PRIIDENTITY, HFA384x_RID_PRIIDENTITY_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2PRISupRange, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PRISUPRANGE, HFA384x_RID_PRISUPRANGE_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2CFIActRanges, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PRI_CFIACTRANGES, HFA384x_RID_CFIACTRANGES_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2BuildSequence, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_BUILDSEQ, HFA384x_RID_BUILDSEQ_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2PrimaryFWID, - F_AP | F_STA | F_READ, + F_STA | F_READ, 0, 0, 0, prism2mib_fwid }, { DIDmib_p2_p2NIC_p2SecondaryFWID, - F_AP | F_STA | F_READ, - 0, 0, 0, - prism2mib_fwid }, - { DIDmib_p2_p2NIC_p2TertiaryFWID, - F_AP | F_READ, + F_STA | F_READ, 0, 0, 0, prism2mib_fwid }, { DIDmib_p2_p2NIC_p2NICSerialNumber, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_NICSERIALNUMBER, HFA384x_RID_NICSERIALNUMBER_LEN, 0, prism2mib_bytearea2pstr }, { DIDmib_p2_p2NIC_p2NICIdentity, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_NICIDENTITY, HFA384x_RID_NICIDENTITY_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2MFISupRange, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_MFISUPRANGE, HFA384x_RID_MFISUPRANGE_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2CFISupRange, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_CFISUPRANGE, HFA384x_RID_CFISUPRANGE_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2ChannelList, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_CHANNELLIST, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2NIC_p2RegulatoryDomains, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_REGULATORYDOMAINS, HFA384x_RID_REGULATORYDOMAINS_LEN, 0, prism2mib_regulatorydomains }, { DIDmib_p2_p2NIC_p2TempType, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_TEMPTYPE, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2NIC_p2STAIdentity, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_STAIDENTITY, HFA384x_RID_STAIDENTITY_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2STASupRange, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_STASUPRANGE, HFA384x_RID_STASUPRANGE_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2MFIActRanges, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_STA_MFIACTRANGES, HFA384x_RID_MFIACTRANGES_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2NIC_p2STACFIActRanges, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_STA_CFIACTRANGES, HFA384x_RID_CFIACTRANGES2_LEN, 0, prism2mib_uint32array }, @@ -1156,35 +911,31 @@ static mibrec_t mibtab[] = { HFA384x_RID_CURRENTTXRATE, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2MAC_p2CurrentBeaconInterval, - F_AP | F_STA | F_READ, + 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_p2APCurrentScaleThresholds, - F_AP | F_READ, - HFA384x_RID_CURRENTSCALETHRESH, HFA384x_RID_APCURSCALETHRESH_LEN, 0, - prism2mib_uint32array }, { DIDmib_p2_p2MAC_p2ProtocolRspTime, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PROTOCOLRSPTIME, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2MAC_p2ShortRetryLimit, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_SHORTRETRYLIMIT, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2MAC_p2LongRetryLimit, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_LONGRETRYLIMIT, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2MAC_p2MaxTransmitLifetime, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_MAXTXLIFETIME, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2MAC_p2MaxReceiveLifetime, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_MAXRXLIFETIME, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2MAC_p2CFPollable, @@ -1192,70 +943,42 @@ static mibrec_t mibtab[] = { HFA384x_RID_CFPOLLABLE, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2MAC_p2AuthenticationAlgorithms, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_AUTHALGORITHMS, HFA384x_RID_AUTHALGORITHMS_LEN, 0, prism2mib_uint32array }, { DIDmib_p2_p2MAC_p2PrivacyOptionImplemented, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PRIVACYOPTIMP, 0, 0, prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CurrentTxRate1, - F_AP | F_READ, - HFA384x_RID_CURRENTTXRATE1, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CurrentTxRate2, - F_AP | F_READ, - HFA384x_RID_CURRENTTXRATE2, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CurrentTxRate3, - F_AP | F_READ, - HFA384x_RID_CURRENTTXRATE3, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CurrentTxRate4, - F_AP | F_READ, - HFA384x_RID_CURRENTTXRATE4, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CurrentTxRate5, - F_AP | F_READ, - HFA384x_RID_CURRENTTXRATE5, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2CurrentTxRate6, - F_AP | F_READ, - HFA384x_RID_CURRENTTXRATE6, 0, 0, - prism2mib_uint32 }, - { DIDmib_p2_p2MAC_p2OwnMACAddress, - F_AP | F_READ, - HFA384x_RID_OWNMACADDRESS, HFA384x_RID_OWNMACADDRESS_LEN, 0, - prism2mib_bytearea2pstr }, /* p2Modem MIB's */ { DIDmib_p2_p2Modem_p2PHYType, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_PHYTYPE, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Modem_p2CurrentChannel, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_CURRENTCHANNEL, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Modem_p2CurrentPowerState, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_CURRENTPOWERSTATE, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Modem_p2CCAMode, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_CCAMODE, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Modem_p2TxPowerMax, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_TXPOWERMAX, 0, 0, prism2mib_uint32 }, { DIDmib_dot11phy_dot11PhyTxPowerTable_dot11CurrentTxPowerLevel, - F_AP | F_STA | F_READ | F_WRITE, + F_STA | F_READ | F_WRITE, HFA384x_RID_TXPOWERMAX, 0, 0, prism2mib_uint32 }, { DIDmib_p2_p2Modem_p2SupportedDataRates, - F_AP | F_STA | F_READ, + F_STA | F_READ, HFA384x_RID_SUPPORTEDDATARATES, HFA384x_RID_SUPPORTEDDATARATES_LEN, 0, prism2mib_bytestr2pstr }, @@ -1382,6 +1105,7 @@ int prism2mgmt_mibset_mibget(wlandevice_ hfa384x_t *hw = wlandev->priv; int result, isget; mibrec_t *mib; + UINT16 which; p80211msg_dot11req_mibset_t *msg = msgp; @@ -1396,7 +1120,7 @@ int prism2mgmt_mibset_mibget(wlandevice_ ** Determine if this is an Access Point or a station. */ - which = hw->ap ? F_AP : F_STA; + which = F_STA; /* ** Find the MIB in the MIB table. Note that a MIB may be in the @@ -1874,67 +1598,6 @@ void *data) } /*---------------------------------------------------------------- -* prism2mib_appcfinfoflag -* -* Get/set a single flag in the APPCFINFO record. -* -* MIB record parameters: -* parm1 Bit to get/set. -* 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_appcfinfoflag( -mibrec_t *mib, -int isget, -wlandevice_t *wlandev, -hfa384x_t *hw, -p80211msg_dot11req_mibset_t *msg, -void *data) -{ - int result; - UINT32 *uint32 = (UINT32*) data; - UINT8 bytebuf[MIB_TMP_MAXLEN]; - UINT16 *wordbuf = (UINT16*) bytebuf; - UINT16 word; - - DBFENTER; - - result = hfa384x_drvr_getconfig(hw, HFA384x_RID_CNFAPPCFINFO, - bytebuf, HFA384x_RID_CNFAPPCFINFO_LEN); - if (result == 0) { - if (isget) { - *uint32 = (hfa384x2host_16(wordbuf[3]) & mib->parm1) ? - P80211ENUM_truth_true : P80211ENUM_truth_false; - } else { - word = hfa384x2host_16(wordbuf[3]); - word = ((*uint32) == P80211ENUM_truth_true) ? - (word | mib->parm1) : (word & ~mib->parm1); - wordbuf[3] = host2hfa384x_16(word); - result = hfa384x_drvr_setconfig(hw, HFA384x_RID_CNFAPPCFINFO, - bytebuf, HFA384x_RID_CNFAPPCFINFO_LEN); - } - } - - DBFEXIT; - return(result); -} - -/*---------------------------------------------------------------- * prism2mib_regulatorydomains * * Get regulatory domain data. @@ -2673,11 +2336,8 @@ void *data) { UINT32 *uint32 = (UINT32*) data; p80211pstrd_t *pstr = (p80211pstrd_t*) data; - p80211macarray_t *macarray = (p80211macarray_t *) data; - - int i, cnt, result, done; - prism2sta_authlist_t old; + int i, cnt, result; /* ** "test" is a lot longer than necessary but who cares? ...as long as @@ -2757,45 +2417,6 @@ void *data) break; - case DIDmib_p2_p2Table_p2Authenticated: - - if (isget) { - prism2mib_priv_authlist(hw, &old); - - macarray->cnt = 0; - for (i = 0; i < old.cnt; i++) { - if (!old.assoc[i]) { - memcpy(macarray->data[macarray->cnt], old.addr[i], WLAN_ADDR_LEN); - macarray->cnt++; - } - } - } - - break; - - case DIDmib_p2_p2Table_p2Associated: - - if (isget) { - prism2mib_priv_authlist(hw, &old); - - macarray->cnt = 0; - for (i = 0; i < old.cnt; i++) { - if (old.assoc[i]) { - memcpy(macarray->data[macarray->cnt], old.addr[i], WLAN_ADDR_LEN); - macarray->cnt++; - } - } - } - - break; - - case DIDmib_p2_p2Table_p2PowerSaveUserCount: - - if (isget) - *uint32 = hw->psusercount; - - break; - case DIDmib_p2_p2Table_p2Comment: if (isget) { @@ -2812,63 +2433,6 @@ void *data) break; - case DIDmib_p2_p2Table_p2AccessMode: - - if (isget) - *uint32 = hw->accessmode; - else - prism2mib_priv_accessmode(hw, *uint32); - - break; - - case DIDmib_p2_p2Table_p2AccessAllow: - - if (isget) { - macarray->cnt = hw->allow.cnt; - memcpy(macarray->data, hw->allow.addr, - macarray->cnt*WLAN_ADDR_LEN); - } else { - prism2mib_priv_accessallow(hw, macarray); - } - - break; - - case DIDmib_p2_p2Table_p2AccessDeny: - - if (isget) { - macarray->cnt = hw->deny.cnt; - memcpy(macarray->data, hw->deny.addr, - macarray->cnt*WLAN_ADDR_LEN); - } else { - prism2mib_priv_accessdeny(hw, macarray); - } - - break; - - case DIDmib_p2_p2Table_p2ChannelInfoResults: - - if (isget) { - done = atomic_read(&hw->channel_info.done); - if (done == 0) { - msg->resultcode.status = P80211ENUM_msgitem_status_no_value; - break; - } - if (done == 1) { - msg->resultcode.status = P80211ENUM_msgitem_status_incomplete_itemdata; - break; - } - - for (i = 0; i < 14; i++, uint32 += 5) { - uint32[0] = i+1; - uint32[1] = hw->channel_info.results.result[i].anl; - uint32[2] = hw->channel_info.results.result[i].pnl; - uint32[3] = (hw->channel_info.results.result[i].active & HFA384x_CHINFORESULT_BSSACTIVE) ? 1 : 0; - uint32[4] = (hw->channel_info.results.result[i].active & HFA384x_CHINFORESULT_PCFACTIVE) ? 1 : 0; - } - } - - break; - case DIDmib_dot11smt_dot11StationConfigTable_dot11DesiredBSSType: if (isget) @@ -2903,345 +2467,6 @@ void *data) } /*---------------------------------------------------------------- -* prism2mib_priv_authlist -* -* Get a copy of the list of authenticated stations. -* -* Arguments: -* priv "priv" structure. -* list List of authenticated stations. -* -* Returns: -* Nothing -* -----------------------------------------------------------------*/ - -static void prism2mib_priv_authlist( -hfa384x_t *hw, -prism2sta_authlist_t *list) -{ - prism2sta_authlist_t test; - int i; - - DBFENTER; - - /* - ** 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...the list of authenticated stations is - ** unlikely to be changing frequently enough that we can't get - ** a snapshot in 10 tries. Don't try more than this so that we - ** don't risk locking-up for long periods of time. If we still - ** haven't got the snapshot, then generate an error message and - ** return an empty list (since this is the only valid list that - ** we can guarentee). This scheme for copying values is used in - ** order to prevent having to block the interrupt handler while - ** we copy the values. - */ - - for (i = 0; i < 10; i++) { - memcpy(list, &hw->authlist, sizeof(prism2sta_authlist_t)); - memcpy(&test, &hw->authlist, sizeof(prism2sta_authlist_t)); - if (memcmp(list, &test, sizeof(prism2sta_authlist_t)) == 0) - break; - } - - if (i >= 10) { - list->cnt = 0; - WLAN_LOG_ERROR("Could not obtain snapshot of authenticated stations.\n"); - } - - DBFEXIT; - return; -} - -/*---------------------------------------------------------------- -* prism2mib_priv_accessmode -* -* Set the Access Mode. -* -* Arguments: -* priv "priv" structure. -* hw "hw" structure. -* mode New access mode. -* -* Returns: -* Nothing -* -----------------------------------------------------------------*/ - -static void prism2mib_priv_accessmode( -hfa384x_t *hw, -UINT32 mode) -{ - prism2sta_authlist_t old; - int i, j, deauth; - UINT8 *addr; - - DBFENTER; - - /* - ** If the mode is not changing or it is changing to "All", then it's - ** okay to go ahead without a lot of messing around. Otherwise, the - ** access mode is changing in a way that may leave some stations - ** authenticated which should not be authenticated. It will be - ** necessary to de-authenticate these stations. - */ - - if (mode == WLAN_ACCESS_ALL || mode == hw->accessmode) { - hw->accessmode = mode; - return; - } - - /* - ** Switch to the new access mode. Once this is done, then the interrupt - ** handler (which uses this value) will be prevented from authenticating - ** ADDITIONAL stations which should not be authenticated. Then get a - ** copy of the current list of authenticated stations. - */ - - hw->accessmode = mode; - - prism2mib_priv_authlist(hw, &old); - - /* - ** Now go through the list of previously authenticated stations (some - ** of which might de-authenticate themselves while we are processing it - ** but that is okay). Any station which no longer matches the access - ** mode, must be de-authenticated. - */ - - for (i = 0; i < old.cnt; i++) { - addr = old.addr[i]; - - if (mode == WLAN_ACCESS_NONE) - deauth = 1; - else { - if (mode == WLAN_ACCESS_ALLOW) { - for (j = 0; j < hw->allow.cnt; j++) - if (memcmp(addr, hw->allow.addr[j], - WLAN_ADDR_LEN) == 0) - break; - deauth = (j >= hw->allow.cnt); - } else { - for (j = 0; j < hw->deny.cnt; j++) - if (memcmp(addr, hw->deny.addr[j], - WLAN_ADDR_LEN) == 0) - break; - deauth = (j < hw->deny.cnt); - } - } - - if (deauth) prism2mib_priv_deauthenticate(hw, addr); - } - - DBFEXIT; - return; -} - -/*---------------------------------------------------------------- -* prism2mib_priv_accessallow -* -* Change the list of allowed MAC addresses. -* -* Arguments: -* priv "priv" structure. -* hw "hw" structure. -* macarray New array of MAC addresses. -* -* Returns: -* Nothing -* -----------------------------------------------------------------*/ - -static void prism2mib_priv_accessallow( -hfa384x_t *hw, -p80211macarray_t *macarray) -{ - prism2sta_authlist_t old; - int i, j; - - DBFENTER; - - /* - ** Change the access list. Note that the interrupt handler may be in - ** the middle of using the access list!!! Since the interrupt handler - ** will always have priority over this process and this is the only - ** process that will modify the list, this problem can be handled as - ** follows: - ** - ** 1. Set the "modify" flag. - ** 2. Change the first copy of the list. - ** 3. Clear the "modify" flag. - ** 4. Change the backup copy of the list. - ** - ** The interrupt handler will check the "modify" flag. If NOT set, then - ** the first copy of the list is valid and may be used. Otherwise, the - ** first copy is being changed but the backup copy is valid and may be - ** used. Doing things this way prevents having to have the interrupt - ** handler block while the list is being updated. - */ - - hw->allow.modify = 1; - - hw->allow.cnt = macarray->cnt; - memcpy(hw->allow.addr, macarray->data, macarray->cnt*WLAN_ADDR_LEN); - - hw->allow.modify = 0; - - hw->allow.cnt1 = macarray->cnt; - memcpy(hw->allow.addr1, macarray->data, macarray->cnt*WLAN_ADDR_LEN); - - /* - ** If the current access mode is "Allow", then changing the access - ** list may leave some stations authenticated which should not be - ** authenticated. It will be necessary to de-authenticate these - ** stations. Otherwise, the list can be changed without a lot of fuss. - */ - - if (hw->accessmode == WLAN_ACCESS_ALLOW) { - - /* - ** Go through the list of authenticated stations (some of - ** which might de-authenticate themselves while we are - ** processing it but that is okay). Any station which is - ** no longer in the list of allowed stations, must be - ** de-authenticated. - */ - - prism2mib_priv_authlist(hw, &old); - - for (i = 0; i < old.cnt; i++) { - for (j = 0; j < hw->allow.cnt; j++) - if (memcmp(old.addr[i], hw->allow.addr[j], - WLAN_ADDR_LEN) == 0) - break; - if (j >= hw->allow.cnt) - prism2mib_priv_deauthenticate(hw, old.addr[i]); - } - } - - DBFEXIT; - return; -} - -/*---------------------------------------------------------------- -* prism2mib_priv_accessdeny -* -* Change the list of denied MAC addresses. -* -* Arguments: -* priv "priv" structure. -* hw "hw" structure. -* macarray New array of MAC addresses. -* -* Returns: -* Nothing -* -----------------------------------------------------------------*/ - -static void prism2mib_priv_accessdeny( -hfa384x_t *hw, -p80211macarray_t *macarray) -{ - prism2sta_authlist_t old; - int i, j; - - DBFENTER; - - /* - ** Change the access list. Note that the interrupt handler may be in - ** the middle of using the access list!!! Since the interrupt handler - ** will always have priority over this process and this is the only - ** process that will modify the list, this problem can be handled as - ** follows: - ** - ** 1. Set the "modify" flag. - ** 2. Change the first copy of the list. - ** 3. Clear the "modify" flag. - ** 4. Change the backup copy of the list. - ** - ** The interrupt handler will check the "modify" flag. If NOT set, then - ** the first copy of the list is valid and may be used. Otherwise, the - ** first copy is being changed but the backup copy is valid and may be - ** used. Doing things this way prevents having to have the interrupt - ** handler block while the list is being updated. - */ - - hw->deny.modify = 1; - - hw->deny.cnt = macarray->cnt; - memcpy(hw->deny.addr, macarray->data, macarray->cnt*WLAN_ADDR_LEN); - - hw->deny.modify = 0; - - hw->deny.cnt1 = macarray->cnt; - memcpy(hw->deny.addr1, macarray->data, macarray->cnt*WLAN_ADDR_LEN); - - /* - ** If the current access mode is "Deny", then changing the access - ** list may leave some stations authenticated which should not be - ** authenticated. It will be necessary to de-authenticate these - ** stations. Otherwise, the list can be changed without a lot of fuss. - */ - - if (hw->accessmode == WLAN_ACCESS_DENY) { - - /* - ** Go through the list of authenticated stations (some of - ** which might de-authenticate themselves while we are - ** processing it but that is okay). Any station which is - ** now in the list of denied stations, must be de-authenticated. - */ - - prism2mib_priv_authlist(hw, &old); - - for (i = 0; i < old.cnt; i++) - for (j = 0; j < hw->deny.cnt; j++) - if (memcmp(old.addr[i], hw->deny.addr[j], - WLAN_ADDR_LEN) == 0) { - prism2mib_priv_deauthenticate(hw, old.addr[i]); - break; - } - } - - DBFEXIT; - return; -} - -/*---------------------------------------------------------------- -* prism2mib_priv_deauthenticate -* -* De-authenticate a station. This is done by sending a HandoverAddress -* information frame to the firmware. This should work, according to -* Intersil. -* -* Arguments: -* priv "priv" structure. -* hw "hw" structure. -* addr MAC address of station to be de-authenticated. -* -* Returns: -* Nothing -* -----------------------------------------------------------------*/ - -static void prism2mib_priv_deauthenticate( -hfa384x_t *hw, -UINT8 *addr) -{ - DBFENTER; - hfa384x_drvr_handover(hw, addr); - DBFEXIT; - return; -} - - -/*---------------------------------------------------------------- * prism2mgmt_pstr2bytestr * * Convert the pstr data in the WLAN message structure into an hfa384x --- a/drivers/staging/wlan-ng/prism2sta.c +++ b/drivers/staging/wlan-ng/prism2sta.c @@ -497,14 +497,6 @@ static int prism2sta_mlmerequest(wlandev WLAN_LOG_DEBUG(2,"Received mlme dump_state request\n"); result = prism2mgmt_dump_state(wlandev, msg); break; - case DIDmsg_p2req_channel_info : - WLAN_LOG_DEBUG(2,"Received mlme channel_info request\n"); - result = prism2mgmt_channel_info(wlandev, msg); - break; - case DIDmsg_p2req_channel_info_results : - WLAN_LOG_DEBUG(2,"Received mlme channel_info_results request\n"); - result = prism2mgmt_channel_info_results(wlandev, msg); - break; /* * Linux specific messages */