提交 1b8b4969 编写于 作者: M Mike McCormack 提交者: Greg Kroah-Hartman

staging: rtl8192e: Delete unused function rtl819x_ifsilentreset

Signed-off-by: NMike McCormack <mikem@ring3k.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 4bbedb27
......@@ -3231,267 +3231,6 @@ rtl819x_ifcheck_resetornot(struct net_device *dev)
}
static void CamRestoreAllEntry(struct net_device *dev)
{
u8 EntryId = 0;
struct r8192_priv *priv = ieee80211_priv(dev);
const u8* MacAddr = priv->ieee80211->current_network.bssid;
static const u8 CAM_CONST_ADDR[4][6] = {
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x01},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x02},
{0x00, 0x00, 0x00, 0x00, 0x00, 0x03}};
static const u8 CAM_CONST_BROAD[] =
{0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
RT_TRACE(COMP_SEC, "CamRestoreAllEntry: \n");
if ((priv->ieee80211->pairwise_key_type == KEY_TYPE_WEP40)||
(priv->ieee80211->pairwise_key_type == KEY_TYPE_WEP104))
{
for(EntryId=0; EntryId<4; EntryId++)
{
{
MacAddr = CAM_CONST_ADDR[EntryId];
setKey(dev,
EntryId ,
EntryId,
priv->ieee80211->pairwise_key_type,
MacAddr,
0,
NULL);
}
}
}
else if(priv->ieee80211->pairwise_key_type == KEY_TYPE_TKIP)
{
{
if(priv->ieee80211->iw_mode == IW_MODE_ADHOC)
setKey(dev,
4,
0,
priv->ieee80211->pairwise_key_type,
(u8*)dev->dev_addr,
0,
NULL);
else
setKey(dev,
4,
0,
priv->ieee80211->pairwise_key_type,
MacAddr,
0,
NULL);
}
}
else if(priv->ieee80211->pairwise_key_type == KEY_TYPE_CCMP)
{
{
if(priv->ieee80211->iw_mode == IW_MODE_ADHOC)
setKey(dev,
4,
0,
priv->ieee80211->pairwise_key_type,
(u8*)dev->dev_addr,
0,
NULL);
else
setKey(dev,
4,
0,
priv->ieee80211->pairwise_key_type,
MacAddr,
0,
NULL);
}
}
if(priv->ieee80211->group_key_type == KEY_TYPE_TKIP)
{
MacAddr = CAM_CONST_BROAD;
for(EntryId=1 ; EntryId<4 ; EntryId++)
{
{
setKey(dev,
EntryId,
EntryId,
priv->ieee80211->group_key_type,
MacAddr,
0,
NULL);
}
}
if(priv->ieee80211->iw_mode == IW_MODE_ADHOC)
setKey(dev,
0,
0,
priv->ieee80211->group_key_type,
CAM_CONST_ADDR[0],
0,
NULL);
}
else if(priv->ieee80211->group_key_type == KEY_TYPE_CCMP)
{
MacAddr = CAM_CONST_BROAD;
for(EntryId=1; EntryId<4 ; EntryId++)
{
{
setKey(dev,
EntryId ,
EntryId,
priv->ieee80211->group_key_type,
MacAddr,
0,
NULL);
}
}
if(priv->ieee80211->iw_mode == IW_MODE_ADHOC)
setKey(dev,
0 ,
0,
priv->ieee80211->group_key_type,
CAM_CONST_ADDR[0],
0,
NULL);
}
}
/*
* This function is used to fix Tx/Rx stop bug temporarily.
* This function will do "system reset" to NIC when Tx or Rx is stuck.
* The method checking Tx/Rx stuck of this function is supported by FW,
* which reports Tx and Rx counter to register 0x128 and 0x130.
*/
static void rtl819x_ifsilentreset(struct net_device *dev)
{
struct r8192_priv *priv = ieee80211_priv(dev);
u8 reset_times = 0;
int reset_status = 0;
struct ieee80211_device *ieee = priv->ieee80211;
return;
// 2007.07.20. If we need to check CCK stop, please uncomment this line.
//bStuck = Adapter->HalFunc.CheckHWStopHandler(Adapter);
if(priv->ResetProgress==RESET_TYPE_NORESET)
{
RESET_START:
#ifdef ENABLE_LPS
//LZM for PS-Poll AID issue. 090429
if(priv->ieee80211->state == IEEE80211_LINKED)
LeisurePSLeave(dev);
#endif
RT_TRACE(COMP_RESET,"=========>Reset progress!! \n");
// Set the variable for reset.
priv->ResetProgress = RESET_TYPE_SILENT;
// rtl8192_close(dev);
down(&priv->wx_sem);
if(priv->up == 0)
{
RT_TRACE(COMP_ERR,"%s():the driver is not up! return\n",__FUNCTION__);
up(&priv->wx_sem);
return ;
}
priv->up = 0;
RT_TRACE(COMP_RESET,"%s():======>start to down the driver\n",__FUNCTION__);
if(!netif_queue_stopped(dev))
netif_stop_queue(dev);
dm_backup_dynamic_mechanism_state(dev);
rtl8192_irq_disable(dev);
rtl8192_cancel_deferred_work(priv);
deinit_hal_dm(dev);
del_timer_sync(&priv->watch_dog_timer);
ieee->sync_scan_hurryup = 1;
if(ieee->state == IEEE80211_LINKED)
{
down(&ieee->wx_sem);
printk("ieee->state is IEEE80211_LINKED\n");
ieee80211_stop_send_beacons(priv->ieee80211);
del_timer_sync(&ieee->associate_timer);
cancel_delayed_work(&ieee->associate_retry_wq);
ieee80211_stop_scan(ieee);
up(&ieee->wx_sem);
}
else{
printk("ieee->state is NOT LINKED\n");
ieee80211_softmac_stop_protocol(priv->ieee80211,true);
}
rtl8192_halt_adapter(dev, true);
up(&priv->wx_sem);
RT_TRACE(COMP_RESET,"%s():<==========down process is finished\n",__FUNCTION__);
RT_TRACE(COMP_RESET,"%s():===========>start to up the driver\n",__FUNCTION__);
reset_status = _rtl8192_up(dev);
RT_TRACE(COMP_RESET,"%s():<===========up process is finished\n",__FUNCTION__);
if(reset_status == -1)
{
if(reset_times < 3)
{
reset_times++;
goto RESET_START;
}
else
{
RT_TRACE(COMP_ERR," ERR!!! %s(): Reset Failed!!\n",__FUNCTION__);
}
}
ieee->is_silent_reset = 1;
EnableHWSecurityConfig8192(dev);
if(ieee->state == IEEE80211_LINKED && ieee->iw_mode == IW_MODE_INFRA)
{
ieee->set_chan(ieee->dev, ieee->current_network.channel);
queue_work(ieee->wq, &ieee->associate_complete_wq);
}
else if(ieee->state == IEEE80211_LINKED && ieee->iw_mode == IW_MODE_ADHOC)
{
ieee->set_chan(ieee->dev, ieee->current_network.channel);
ieee->link_change(ieee->dev);
// notify_wx_assoc_event(ieee);
ieee80211_start_send_beacons(ieee);
if (ieee->data_hard_resume)
ieee->data_hard_resume(ieee->dev);
netif_carrier_on(ieee->dev);
}
CamRestoreAllEntry(dev);
// Restore the previous setting for all dynamic mechanism
dm_restore_dynamic_mechanism_state(dev);
priv->ResetProgress = RESET_TYPE_NORESET;
priv->reset_count++;
priv->bForcedSilentReset =false;
priv->bResetInProgress = false;
// For test --> force write UFWP.
write_nic_byte(priv, UFWP, 1);
RT_TRACE(COMP_RESET, "Reset finished!! ====>[%d]\n", priv->reset_count);
}
}
#ifdef ENABLE_IPS
void InactivePsWorkItemCallback(struct net_device *dev)
{
......@@ -3850,7 +3589,6 @@ static void rtl819x_watchdog_wqcallback(struct work_struct *work)
if( ((priv->force_reset) || (!priv->bDisableNormalResetCheck && ResetType==RESET_TYPE_SILENT))) // This is control by OID set in Pomelo
{
priv->watchdog_last_time = 1;
rtl819x_ifsilentreset(dev);
}
else
priv->watchdog_last_time = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册