extern struct timer_list hDuringIpTimer;
#endif
-/*BugID_5137*/
extern u8 g_wilc_initialized;
/*****************************************************************************/
/* Macros */
size_t IEsLen;
tWILCpfScanResult pfScanResult;
void *pvUserArg;
- /*BugID_4189*/
tstrHiddenNetwork strHiddenNetwork;
} tstrHostIFscanAttr;
static u8 gu8DelBcn;
static u32 gu32WidConnRstHack;
-/*BugID_5137*/
u8 *gu8FlushedJoinReq;
u8 *gu8FlushedInfoElemAsoc;
u8 gu8Flushed11iMode;
}
-/*BugID_5213*/
/**
* @brief Handle_GetMacAddress
* @details Getting mac address
pstrWFIDrv->strWILC_UsrScanReq.u32RcvdChCount = 0;
- /*BugID_4189*/
strWIDList[u32WidsCount].u16WIDid = (u16)WID_SSID_PROBE_REQ;
strWIDList[u32WidsCount].enuWIDtype = WID_STR;
PRINT_D(HOSTINF_DBG, "in Handle_ScanDone()\n");
- /*BugID_4978*/
/*Ask FW to abort the running scan, if any*/
if (enuEvent == SCAN_EVENT_ABORTED) {
PRINT_D(GENERIC_DBG, "Abort running scan\n");
strWIDList[u32WidsCount].s32ValueSize = pstrWFIDrv->strWILC_UsrConnReq.ConnReqIEsLen;
u32WidsCount++;
- /*BugID_5137*/
if (memcmp("DIRECT-", pstrHostIFconnectAttr->pu8ssid, 7)) {
gu32FlushedInfoElemAsocSize = pstrWFIDrv->strWILC_UsrConnReq.ConnReqIEsLen;
strWIDList[u32WidsCount].ps8WidVal = (s8 *)(&(pstrWFIDrv->strWILC_UsrConnReq.u8security));
u32WidsCount++;
- /*BugID_5137*/
if (memcmp("DIRECT-", pstrHostIFconnectAttr->pu8ssid, 7))
gu8Flushed11iMode = pstrWFIDrv->strWILC_UsrConnReq.u8security;
strWIDList[u32WidsCount].ps8WidVal = (s8 *)(&pstrWFIDrv->strWILC_UsrConnReq.tenuAuth_type);
u32WidsCount++;
- /*BugID_5137*/
if (memcmp("DIRECT-", pstrHostIFconnectAttr->pu8ssid, 7))
gu8FlushedAuthType = (u8)pstrWFIDrv->strWILC_UsrConnReq.tenuAuth_type;
strWIDList[u32WidsCount].s32ValueSize = 112; /* 79; */
strWIDList[u32WidsCount].ps8WidVal = kmalloc(strWIDList[u32WidsCount].s32ValueSize, GFP_KERNEL);
- /*BugID_5137*/
if (memcmp("DIRECT-", pstrHostIFconnectAttr->pu8ssid, 7)) {
gu32FlushedJoinReqSize = strWIDList[u32WidsCount].s32ValueSize;
gu8FlushedJoinReq = kmalloc(gu32FlushedJoinReqSize, GFP_KERNEL);
memcpy(pu8CurrByte, ptstrJoinBssParam->rsn_cap, sizeof(ptstrJoinBssParam->rsn_cap));
pu8CurrByte += sizeof(ptstrJoinBssParam->rsn_cap);
- /*BugID_5137*/
*(pu8CurrByte++) = REAL_JOIN_REQ;
*(pu8CurrByte++) = ptstrJoinBssParam->u8NoaEnbaled;
gu32WidConnRstHack = 0;
/* ////////////////////// */
- /*BugID_5137*/
if (memcmp("DIRECT-", pstrHostIFconnectAttr->pu8ssid, 7)) {
memcpy(gu8FlushedJoinReq, pu8CurrByte, gu32FlushedJoinReqSize);
gu8FlushedJoinReqDrvHandler = pstrWFIDrv;
}
memset(u8ConnectedSSID, 0, ETH_ALEN);
- /*BugID_5213*/
/*Freeing flushed join request params on connect timeout*/
if (gu8FlushedJoinReq != NULL && gu8FlushedJoinReqDrvHandler == drvHandler) {
kfree(gu8FlushedJoinReq);
pstrWFIDrv->strWILC_UsrConnReq.pu8ConnReqIEs = NULL;
}
- /*BugID_5213*/
/*Freeing flushed join request params on receiving*/
/*MAC_DISCONNECTED while connected*/
if (gu8FlushedJoinReq != NULL && gu8FlushedJoinReqDrvHandler == drvHandler) {
if (pstrWFIDrv->strWILC_UsrConnReq.pfUserConnectResult != NULL) {
- /*BugID_5193*/
/*Stop connect timer, if connection in progress*/
if (pstrWFIDrv->enuHostIFstate == HOST_IF_WAITING_CONN_RESP) {
PRINT_D(HOSTINF_DBG, "Upper layer requested termination of connection\n");
}
- /*BugID_5137*/
if (gu8FlushedJoinReq != NULL && gu8FlushedJoinReqDrvHandler == drvHandler) {
kfree(gu8FlushedJoinReq);
gu8FlushedJoinReq = NULL;
PRINT_D(HOSTINF_DBG, "CANCEL REMAIN ON CHAN\n");
- /*BugID_5477*/
/*Make sure we are already in listen state*/
/*This is to handle duplicate expiry messages (listen timer fired and supplicant called cancel_remain_on_channel())*/
if (P2P_LISTEN_STATE) {
}
-/*BugID_5222*/
/**
* @brief Handle_AddBASession
* @details Add block ack session
}
-/*BugID_5222*/
/**
* @brief Handle_DelBASession
* @details Delete block ack session
if (strWID.ps8WidVal != NULL)
kfree(strWID.ps8WidVal);
- /*BugID_5222*/
up(&hWaitResponse);
return s32Error;
if (strWID.ps8WidVal != NULL)
kfree(strWID.ps8WidVal);
- /*BugID_5222*/
up(&hWaitResponse);
return s32Error;
Handle_Connect(strHostIFmsg.drvHandler, &strHostIFmsg.uniHostIFmsgBody.strHostIFconnectAttr);
break;
- /*BugID_5137*/
case HOST_IF_MSG_FLUSH_CONNECT:
Handle_FlushConnect(strHostIFmsg.drvHandler);
break;
del_timer(&pstrWFIDrv->hScanTimer);
PRINT_D(HOSTINF_DBG, "scan completed successfully\n");
- /*BugID_5213*/
/*Allow chip sleep, only if both interfaces are not connected*/
if (!linux_wlan_get_num_conn_ifcs())
chip_sleep_manually(INFINITE_SLEEP_TIME);
Handle_get_IPAddress(strHostIFmsg.drvHandler, strHostIFmsg.uniHostIFmsgBody.strHostIfSetIP.au8IPAddr, strHostIFmsg.uniHostIFmsgBody.strHostIfSetIP.idx);
break;
- /*BugID_5077*/
case HOST_IF_MSG_SET_MAC_ADDRESS:
Handle_SetMacAddress(strHostIFmsg.drvHandler, &strHostIFmsg.uniHostIFmsgBody.strHostIfSetMacAddress);
break;
- /*BugID_5213*/
case HOST_IF_MSG_GET_MAC_ADDRESS:
Handle_GetMacAddress(strHostIFmsg.drvHandler, &strHostIFmsg.uniHostIFmsgBody.strHostIfGetMacAddress);
break;
Handle_SetMulticastFilter(strHostIFmsg.drvHandler, &strHostIFmsg.uniHostIFmsgBody.strHostIfSetMulti);
break;
- /*BugID_5222*/
case HOST_IF_MSG_ADD_BA_SESSION:
Handle_AddBASession(strHostIFmsg.drvHandler, &strHostIFmsg.uniHostIFmsgBody.strHostIfBASessionInfo);
break;
if (clients_count == 0) {
sema_init(&hSemHostIFthrdEnd, 0);
sema_init(&hSemDeinitDrvHandle, 0);
- /*BugID_5348*/
sema_init(&hSemHostIntDeinit, 1);
}
* return 0;
* }*/
- /*BugID_5348*/
if (pstrWFIDrv == NULL) {
PRINT_ER("pstrWFIDrv = NULL\n");
terminated_handle = pstrWFIDrv;
PRINT_D(HOSTINF_DBG, "De-initializing host interface for client %d\n", clients_count);
- /*BugID_5348*/
/*Destroy all timers before acquiring hSemDeinitDrvHandle*/
/*to guarantee handling all messages befor proceeding*/
if (del_timer_sync(&pstrWFIDrv->hScanTimer)) {
int id;
tstrWILC_WFIDrv *pstrWFIDrv = NULL;
- /*BugID_5348*/
down(&hSemHostIntDeinit);
id = ((pu8Buffer[u32Length - 4]) | (pu8Buffer[u32Length - 3] << 8) | (pu8Buffer[u32Length - 2] << 16) | (pu8Buffer[u32Length - 1] << 24));
if (pstrWFIDrv == NULL || pstrWFIDrv == terminated_handle) {
PRINT_D(HOSTINF_DBG, "Wifi driver handler is equal to NULL\n");
- /*BugID_5348*/
up(&hSemHostIntDeinit);
return;
}
if (pstrWFIDrv->strWILC_UsrConnReq.pfUserConnectResult == NULL) {
/* received mac status is not needed when there is no current Connect Request */
PRINT_ER("Received mac status is not needed when there is no current Connect Reques\n");
- /*BugID_5348*/
up(&hSemHostIntDeinit);
return;
}
if (s32Error)
PRINT_ER("Error in sending message queue asynchronous message info: Error(%d)\n", s32Error);
- /*BugID_5348*/
up(&hSemHostIntDeinit);
}
strHostIFmsg.u16MsgId = HOST_IF_MSG_DEL_STATION;
strHostIFmsg.drvHandler = hWFIDrv;
- /*BugID_4795: Handling situation of deleting all stations*/
if (pu8MacAddr == NULL)
memset(pstrDelStationMsg->au8MacAddr, 255, ETH_ALEN);
else
if (s32Error)
PRINT_ER("wilc_mq_send fail\n");
- /*BugID_5222*/
down(&hWaitResponse);
return s32Error;
if (s32Error)
PRINT_ER("wilc_mq_send fail\n");
- /*BugID_5222*/
down(&hWaitResponse);
return s32Error;
u32 u32Length;
} tstrRcvdNetworkInfo;
-/*BugID_4156*/
typedef struct _tstrHiddenNetworkInfo {
u8 *pu8ssid;
u8 u8ssidlen;
u32 u32Mode;
} tstrHostIfSetOperationMode;
-/*BugID_5077*/
typedef struct {
u8 u8MacAddress[ETH_ALEN];
} tstrHostIfSetMacAddress;
-/*BugID_5213*/
typedef struct {
u8 *u8MacAddress;
} tstrHostIfGetMacAddress;
-/*BugID_5222*/
typedef struct {
u8 au8Bssid[ETH_ALEN];
u8 u8Ted;
return ret;
}
-/*BugID_5213*/
/*Function to get number of connected interfaces*/
int linux_wlan_get_num_conn_ifcs(void)
{
else if (nic->iftype == STATION_MODE)
firmware = STA_FIRMWARE;
- /*BugID_5137*/
else {
PRINT_D(INIT_DBG, "Get P2P_CONCURRENCY_FIRMWARE\n");
firmware = P2P_CONCURRENCY_FIRMWARE;
unsigned char c_val[64];
unsigned char mac_add[] = {0x00, 0x80, 0xC2, 0x5E, 0xa2, 0xff};
- /*BugID_5077*/
struct wilc_priv *priv;
tstrWILC_WFIDrv *pstrWFIDrv;
mutex_init(&g_linux_wlan->rxq_cs);
mutex_init(&g_linux_wlan->txq_cs);
- /*Added by Amr - BugID_4720*/
spin_lock_init(&g_linux_wlan->txq_spinlock);
sema_init(&g_linux_wlan->txq_add_to_head_cs, 1);
nwi->os_context.tx_buffer_size = LINUX_TX_SIZE;
nwi->os_context.txq_critical_section = (void *)&g_linux_wlan->txq_cs;
- /*Added by Amr - BugID_4720*/
nwi->os_context.txq_add_to_head_critical_section = (void *)&g_linux_wlan->txq_add_to_head_cs;
- /*Added by Amr - BugID_4720*/
nwi->os_context.txq_spin_lock = (void *)&g_linux_wlan->txq_spinlock;
nwi->os_context.txq_wait_event = (void *)&g_linux_wlan->txq_event;
{
perInterface_wlan_t *nic;
- /*BugID_5213*/
/*No need for setting mac address here anymore,*/
/*Just set it in init_test_config()*/
unsigned char mac_add[ETH_ALEN] = {0};
int i = 0;
perInterface_wlan_t *nic;
- /*BugID_5450*/
/*Pass the frame on the monitor interface, if any.*/
/*Otherwise, pass it on p2p0 netdev, if registered on it*/
for (i = 0; i < g_linux_wlan->u8NoIfcs; i++) {
RX_debug,
Lock_debug,
Tcp_enhance,
- /*Added by amr - BugID_4720*/
Spin_debug,
Init_debug,
static u8 op_ifcs;
extern u8 u8ConnectedSSID[6];
-/*BugID_5137*/
u8 g_wilc_initialized = 1;
extern linux_wlan_t *g_linux_wlan;
#ifdef DISABLE_PWRSAVE_AND_SCAN_DURING_IP
/*Global variable used to state the current connected STA channel*/
u8 u8WLANChannel = INVALID_CHANNEL;
-/*BugID_5442*/
u8 u8CurrChannel;
u8 u8P2P_oui[] = {0x50, 0x6f, 0x9A, 0x09};
};
-/*BugID_5137*/
struct add_key_params {
u8 key_idx;
bool pairwise;
linux_wlan_set_bssid(priv->dev, NullBssid);
memset(u8ConnectedSSID, 0, ETH_ALEN);
- /*BugID_5457*/
/*Invalidate u8WLANChannel value on wlan0 disconnect*/
if (!pstrWFIDrv->u8P2PConnect)
u8WLANChannel = INVALID_CHANNEL;
pstrConnectInfo->au8bssid[1], pstrConnectInfo->au8bssid[2], pstrConnectInfo->au8bssid[3], pstrConnectInfo->au8bssid[4], pstrConnectInfo->au8bssid[5]);
memcpy(priv->au8AssociatedBss, pstrConnectInfo->au8bssid, ETH_ALEN);
- /* BugID_4209: if this network has expired in the scan results in the above nl80211 layer, refresh them here by calling
- * cfg80211_inform_bss() with the last Scan results before calling cfg80211_connect_result() to avoid
- * Linux kernel warning generated at the nl80211 layer */
for (i = 0; i < u32LastScannedNtwrksCountShadow; i++) {
if (memcmp(astrLastScannedNtwrksShadow[i].au8bssid,
}
if (bNeedScanRefresh) {
- /*BugID_5418*/
/*Also, refrsh DIRECT- results if */
refresh_scan(priv, 1, true);
linux_wlan_set_bssid(priv->dev, NullBssid);
memset(u8ConnectedSSID, 0, ETH_ALEN);
- /*BugID_5457*/
/*Invalidate u8WLANChannel value on wlan0 disconnect*/
if (!pstrWFIDrv->u8P2PConnect)
u8WLANChannel = INVALID_CHANNEL;
- /*BugID_5315*/
/*Incase "P2P CLIENT Connected" send deauthentication reason by 3 to force the WPA_SUPPLICANT to directly change
* virtual interface to station*/
if ((pstrWFIDrv->IFC_UP) && (dev == g_linux_wlan->strInterfaceInfo[1].wilc_netdev)) {
pstrDisconnectNotifInfo->u16reason = 3;
}
- /*BugID_5315*/
/*Incase "P2P CLIENT during connection(not connected)" send deauthentication reason by 1 to force the WPA_SUPPLICANT
* to scan again and retry the connection*/
else if ((!pstrWFIDrv->IFC_UP) && (dev == g_linux_wlan->strInterfaceInfo[1].wilc_netdev)) {
strHiddenNetwork.u8ssidnum = request->n_ssids;
- /*BugID_4156*/
for (i = 0; i < request->n_ssids; i++) {
if (request->ssids[i].ssid != NULL && request->ssids[i].ssid_len != 0) {
priv->WILC_WFI_wep_key_len[sme->key_idx] = sme->key_len;
memcpy(priv->WILC_WFI_wep_key[sme->key_idx], sme->key, sme->key_len);
- /*BugID_5137*/
g_key_wep_params.key_len = sme->key_len;
g_key_wep_params.key = kmalloc(sme->key_len, GFP_KERNEL);
memcpy(g_key_wep_params.key, sme->key, sme->key_len);
priv->WILC_WFI_wep_key_len[sme->key_idx] = sme->key_len;
memcpy(priv->WILC_WFI_wep_key[sme->key_idx], sme->key, sme->key_len);
- /*BugID_5137*/
g_key_wep_params.key_len = sme->key_len;
g_key_wep_params.key = kmalloc(sme->key_len, GFP_KERNEL);
memcpy(g_key_wep_params.key, sme->key, sme->key_len);
PRINT_INFO(CFG80211_DBG, "Group encryption value = %s\n Cipher Group = %s\n WPA version = %s\n",
pcgroup_encrypt_val, pccipher_group, pcwpa_version);
- /*BugID_5442*/
u8CurrChannel = pstrNetworkInfo->u8channel;
if (!pstrWFIDrv->u8P2PConnect) {
connecting = 0;
priv = wiphy_priv(wiphy);
- /*BugID_5457*/
/*Invalidate u8WLANChannel value on wlan0 disconnect*/
pstrWFIDrv = (tstrWILC_WFIDrv *)priv->hWILCWFIDrv;
if (!pstrWFIDrv->u8P2PConnect)
PRINT_D(CFG80211_DBG, "Adding key with cipher suite = %x\n", params->cipher);
- /*BugID_5137*/
PRINT_D(CFG80211_DBG, "%p %p %d\n", wiphy, netdev, key_index);
PRINT_D(CFG80211_DBG, "key %x %x %x\n", params->key[0],
KeyLen = params->key_len - 16;
}
- /*BugID_5137*/
/*save keys only on interface 0 (wifi interface)*/
if (!g_gtk_keys_saved && netdev == g_linux_wlan->strInterfaceInfo[0].wilc_netdev) {
g_add_gtk_key_params.key_idx = key_index;
KeyLen = params->key_len - 16;
}
- /*BugID_5137*/
/*save keys only on interface 0 (wifi interface)*/
if (!g_ptk_keys_saved && netdev == g_linux_wlan->strInterfaceInfo[0].wilc_netdev) {
g_add_ptk_key_params.key_idx = key_index;
priv = wiphy_priv(wiphy);
- /*BugID_5137*/
/*delete saved keys, if any*/
if (netdev == g_linux_wlan->strInterfaceInfo[0].wilc_netdev) {
g_ptk_keys_saved = false;
u32 index = 0;
u32 i = 0, j = 0;
- /*BugID_5460*/
u8 op_channel_attr_index = 0;
u8 channel_list_attr_index = 0;
PRINT_D(GENERIC_DBG, "Rx Frame Type:%x\n", buff[FRAME_TYPE_ID]);
- /*BugID_5442*/
/*Upper layer is informed that the frame is received on this freq*/
s32Freq = ieee80211_channel_to_frequency(u8CurrChannel, IEEE80211_BAND_2GHZ);
priv = (struct wilc_priv *)pUserVoid;
- /*BugID_5477*/
if (u32SessionID == priv->strRemainOnChanParams.u32ListenSessionID) {
PRINT_D(GENERIC_DBG, "Remain on channel expired\n");
PRINT_D(GENERIC_DBG, "Remaining on channel %d\n", chan->hw_value);
- /*BugID_4800: if in AP mode, return.*/
- /*This check is to handle the situation when user*/
- /*requests "create group" during a running scan*/
if (wdev->iftype == NL80211_IFTYPE_AP) {
PRINT_D(GENERIC_DBG, "Required remain-on-channel while in AP mode");
PRINT_D(GENERIC_DBG, "ACTION FRAME:%x\n", (u16)mgmt->frame_control);
- /*BugID_4847*/
if (buf[ACTION_CAT_ID] == PUB_ACTION_ATTR_ID) {
- /*BugID_4847*/
/*Only set the channel, if not a negotiation confirmation frame
* (If Negotiation confirmation frame, force it
* to be transmitted on the same negotiation channel)*/
if (buf[P2P_PUB_ACTION_SUBTYPE] == P2P_INV_REQ || buf[P2P_PUB_ACTION_SUBTYPE] == P2P_INV_RSP)
WILC_WFI_CfgParseTxAction(&mgmt_tx->buff[i + 6], len - (i + 6), true, nic->iftype);
- /*BugID_5460*/
/*If using supplicant go intent, no need at all*/
/*to parse transmitted negotiation frames*/
else
- /*BugID_5137*/
if (!frame_type)
return;
del_timer(&hDuringIpTimer);
PRINT_D(GENERIC_DBG, "Changing virtual interface, enable scan\n");
#endif
- /*BugID_5137*/
/*Set WILC_CHANGING_VIR_IF register to disallow adding futrue keys to CE H/W*/
if (g_ptk_keys_saved && g_gtk_keys_saved) {
Set_machw_change_vir_if(true);
/* ensure that the message Q is empty */
host_int_wait_msg_queue_idle();
- /*BugID_5213*/
/*Eliminate host interface blocking state*/
up(&g_linux_wlan->cfg_event);
(struct key_params *)(&g_key_gtk_params));
}
- /*BugID_4847: registered frames in firmware are now*/
- /*lost due to mac close. So re-register those frames*/
if (g_linux_wlan->wilc1000_initialized) {
for (i = 0; i < num_reg_frame; i++) {
PRINT_D(INIT_DBG, "Frame registering Type: %x - Reg: %d\n", nic->g_struct_frame_reg[i].frame_type,
refresh_scan(priv, 1, true);
Set_machw_change_vir_if(false);
- /*BugID_4847: registered frames in firmware are now lost
- * due to mac close. So re-register those frames */
if (g_linux_wlan->wilc1000_initialized) {
for (i = 0; i < num_reg_frame; i++) {
PRINT_D(INIT_DBG, "Frame registering Type: %x - Reg: %d\n", nic->g_struct_frame_reg[i].frame_type,
mac_close(dev);
mac_open(dev);
- /*BugID_4847: registered frames in firmware are now lost
- * due to mac close. So re-register those frames */
for (i = 0; i < num_reg_frame; i++) {
PRINT_D(INIT_DBG, "Frame registering Type: %x - Reg: %d\n", nic->g_struct_frame_reg[i].frame_type,
nic->g_struct_frame_reg[i].reg);
mod_timer(&hDuringIpTimer, jiffies + msecs_to_jiffies(duringIP_TIME));
#endif
host_int_set_power_mgmt(priv->hWILCWFIDrv, 0, 0);
- /*BugID_5222*/
/*Delete block ack has to be the latest config packet*/
/*sent before downloading new FW. This is because it blocks on*/
/*hWaitResponse semaphore, which allows previous config*/
}
#endif
- /*BugID_4847: registered frames in firmware are now*/
- /*lost due to mac close. So re-register those frames*/
if (g_linux_wlan->wilc1000_initialized) {
for (i = 0; i < num_reg_frame; i++) {
PRINT_D(INIT_DBG, "Frame registering Type: %x - Reg: %d\n", nic->g_struct_frame_reg[i].frame_type,
PRINT_D(HOSTAPD_DBG, "Deleting beacon\n");
- /*BugID_5188*/
linux_wlan_set_bssid(dev, NullBssid);
s32Error = host_int_del_beacon(priv->hWILCWFIDrv);
u8 open_ifcs;
struct mutex txq_cs;
- /*Added by Amr - BugID_4720*/
struct semaphore txq_add_to_head_cs;
spinlock_t txq_spinlock;
**/
void *txq_lock;
- /*Added by Amr - BugID_4720*/
struct semaphore *txq_add_to_head_lock;
void *txq_spinlock;
unsigned long txq_spinlock_flags;
static CHIP_PS_STATE_T genuChipPSstate = CHIP_WAKEDUP;
-/*BugID_5213*/
/*acquire_bus() and release_bus() are made static inline functions*/
/*as a temporary workaround to fix a problem of receiving*/
/*unknown interrupt from FW*/
}
p->txq_entries -= 1;
- /*Added by Amr - BugID_4720*/
{
wilc_wlan_dev_t *p = (wilc_wlan_dev_t *)&g_wlan;
unsigned long flags;
- /*Added by Amr - BugID_4720*/
spin_lock_irqsave(p->txq_spinlock, flags);
if (p->txq_head == NULL) {
p->txq_entries += 1;
PRINT_D(TX_DBG, "Number of entries in TxQ = %d\n", p->txq_entries);
- /*Added by Amr - BugID_4720*/
spin_unlock_irqrestore(p->txq_spinlock, flags);
/**
{
wilc_wlan_dev_t *p = (wilc_wlan_dev_t *)&g_wlan;
unsigned long flags;
- /*Added by Amr - BugID_4720*/
if (p->os_func.os_wait(p->txq_add_to_head_lock, CFG_PKTS_TIMEOUT))
return -1;
p->txq_entries += 1;
PRINT_D(TX_DBG, "Number of entries in TxQ = %d\n", p->txq_entries);
- /*Added by Amr - BugID_4720*/
spin_unlock_irqrestore(p->txq_spinlock, flags);
up(p->txq_add_to_head_lock);
up(p->txq_wait);
PRINT_D(TX_DBG, "Wake up the txq_handler\n");
- /*Added by Amr - BugID_4720*/
return 0;
}
**/
PRINT_D(TX_DBG, "Adding the config packet at the Queue tail\n");
- /*Edited by Amr - BugID_4720*/
if (wilc_wlan_txq_add_to_head(tqe))
return 0;
return 1;
struct txq_entry_t *tqe;
unsigned long flags;
- /*Added by Amr - BugID_4720*/
spin_lock_irqsave(p->txq_spinlock, flags);
tqe = p->txq_head;
- /*Added by Amr - BugID_4720*/
spin_unlock_irqrestore(p->txq_spinlock, flags);
{
wilc_wlan_dev_t *p = (wilc_wlan_dev_t *)&g_wlan;
unsigned long flags;
- /*Added by Amr - BugID_4720*/
spin_lock_irqsave(p->txq_spinlock, flags);
tqe = tqe->next;
- /*Added by Amr - BugID_4720*/
spin_unlock_irqrestore(p->txq_spinlock, flags);
if (p->quit)
break;
- /*Added by Amr - BugID_4720*/
p->os_func.os_wait(p->txq_add_to_head_lock, CFG_PKTS_TIMEOUT);
#ifdef TCP_ACK_FILTER
wilc_wlan_txq_filter_dup_tcp_ack();
if (ret != 1)
break;
} while (0);
- /*Added by Amr - BugID_4720*/
up(p->txq_add_to_head_lock);
p->txq_exit = 1;
reg |= WILC_HAVE_LEGACY_RF_SETTINGS;
-/*BugID_5257*/
/*Set oscillator frequency*/
#ifdef XTAL_24
reg |= WILC_HAVE_XTAL_24;
#endif
-/*BugID_5271*/
/*Enable/Disable GPIO configuration for FW logs*/
#ifdef DISABLE_WILC_UART
reg |= WILC_HAVE_DISABLE_WILC_UART;
* Add to TX queue
**/
- /*Edited by Amr - BugID_4720*/
if (!wilc_wlan_txq_add_cfg_pkt(&cfg->wid_header[0], total_len))
return -1;
PRINT_D(RX_DBG, "Processing cfg_set()\n");
p->cfg_frame_in_use = 1;
- /*Edited by Amr - BugID_4720*/
if (wilc_wlan_cfg_commit(WILC_CFG_SET, drvHandler))
- ret_size = 0; /* BugID_5213 */
+ ret_size = 0;
if (p->os_func.os_wait(p->cfg_wait, CFG_PKTS_TIMEOUT)) {
PRINT_D(TX_DBG, "Set Timed Out\n");
if (commit) {
p->cfg_frame_in_use = 1;
- /*Edited by Amr - BugID_4720*/
if (wilc_wlan_cfg_commit(WILC_CFG_QUERY, drvHandler))
- ret_size = 0; /* BugID_5213 */
+ ret_size = 0;
if (p->os_func.os_wait(p->cfg_wait, CFG_PKTS_TIMEOUT)) {
g_wlan.hif_lock = inp->os_context.hif_critical_section;
g_wlan.txq_lock = inp->os_context.txq_critical_section;
- /*Added by Amr - BugID_4720*/
g_wlan.txq_add_to_head_lock = inp->os_context.txq_add_to_head_critical_section;
- /*Added by Amr - BugID_4720*/
g_wlan.txq_spinlock = inp->os_context.txq_spin_lock;
g_wlan.rxq_lock = inp->os_context.rxq_critical_section;
*
********************************************/
#define WILC_PERIPH_REG_BASE 0x1000
-/*BugID_5137*/
#define WILC_CHANGING_VIR_IF (0x108c)
#define WILC_CHIPID (WILC_PERIPH_REG_BASE)
#define WILC_GLB_RESET_0 (WILC_PERIPH_REG_BASE + 0x400)
u32 tx_buffer_size;
void *txq_critical_section;
- /*Added by Amr - BugID_4720*/
void *txq_add_to_head_critical_section;
void *txq_spin_lock;
/* -------------------------------------------------------------------- */
WID_LINK_LOSS_THRESHOLD = 0x0037,
- /*BugID_4978*/
WID_ABORT_RUNNING_SCAN = 0x003E,
/* NMAC Character WID list */
WID_REGISTER_FRAME = 0x3084,
WID_DEL_ALL_STA = 0x3085,
WID_REMAIN_ON_CHAN = 0x3996,
- /*BugID_4156*/
WID_SSID_PROBE_REQ = 0x3997,
- /*BugID_4124 WID to trigger modified Join Request using SSID and BSSID instead of bssListIdx (used by WID_JOIN_REQ)*/
WID_JOIN_REQ_EXTENDED = 0x3998,
- /* BugID 4951: WID toset IP address in firmware */
WID_IP_ADDRESS = 0x3999,
WID_11N_AUTORATE_TABLE = 0x4080,
- /*Added here by Amr - BugID 4134*/
WID_SCAN_CHANNEL_LIST = 0x4084,
- /*BugID_3746 WID to add IE to be added in next probe request*/
WID_INFO_ELEMENT_PROBE = 0x4085,
- /*BugID_3746 WID to add IE to be added in next associate request*/
WID_INFO_ELEMENT_ASSOCIATE = 0x4086,
WID_ADD_STA = 0X4087,
WID_REMOVE_STA = 0X4088,
WID_EDIT_STA = 0X4089,
WID_ADD_BEACON = 0x408a,
- /* BugID 5108 */
WID_SETUP_MULTICAST_FILTER = 0x408b,
/* Miscellaneous WIDs */