mirror of https://gitee.com/openkylin/linux.git
staging: rtl8192e: Delete unused function rtl819x_ifsilentreset
Signed-off-by: Mike McCormack <mikem@ring3k.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
4bbedb27d2
commit
1b8b4969f5
|
@ -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
|
#ifdef ENABLE_IPS
|
||||||
void InactivePsWorkItemCallback(struct net_device *dev)
|
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
|
if( ((priv->force_reset) || (!priv->bDisableNormalResetCheck && ResetType==RESET_TYPE_SILENT))) // This is control by OID set in Pomelo
|
||||||
{
|
{
|
||||||
priv->watchdog_last_time = 1;
|
priv->watchdog_last_time = 1;
|
||||||
rtl819x_ifsilentreset(dev);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
priv->watchdog_last_time = 0;
|
priv->watchdog_last_time = 0;
|
||||||
|
|
Loading…
Reference in New Issue