static void rtl8192_init_priv_lock(struct r8192_priv* priv)
{
- spin_lock_init(&priv->tx_lock);
spin_lock_init(&priv->irq_th_lock);
spin_lock_init(&priv->rf_ps_lock);
spin_lock_init(&priv->ps_lock);
{
struct r8192_priv *priv = (struct r8192_priv*) arg;
struct sk_buff *skb;
- //unsigned long flags;
cb_desc *tcb_desc;
skb = ieee80211_get_beacon(priv->ieee80211);
tcb_desc = (cb_desc *)(skb->cb + 8);
- //spin_lock_irqsave(&priv->tx_lock,flags);
/* prepare misc info for the beacon xmit */
tcb_desc->queue_index = BEACON_QUEUE;
/* IBSS does not support HT yet, use 1M defaultly */
if(skb){
rtl8192_tx(priv->ieee80211->dev,skb);
}
- //spin_unlock_irqrestore (&priv->tx_lock, flags);
}
struct net_device *dev = priv->ieee80211->dev;
struct ieee80211_device* ieee = priv->ieee80211;
RESET_TYPE ResetType = RESET_TYPE_NORESET;
- unsigned long flags;
bool bBusyTraffic = false;
bool bEnterPS = false;
ieee->LinkDetectInfo.NumRecvDataInPeriod=0;
//check if reset the driver
- spin_lock_irqsave(&priv->tx_lock,flags);
if (priv->watchdog_check_reset_cnt++ >= 3 && !ieee->is_roaming &&
priv->watchdog_last_time != 1)
{
ResetType = rtl819x_ifcheck_resetornot(dev);
priv->watchdog_check_reset_cnt = 3;
}
- spin_unlock_irqrestore(&priv->tx_lock,flags);
if(!priv->bDisableNormalResetCheck && ResetType == RESET_TYPE_NORMAL)
{
priv->ResetProgress = RESET_TYPE_NORMAL;
PTX_FWINFO_8190PCI pTxFwInfo = NULL;
int i;
- //spin_lock_irqsave(&priv->tx_lock,flags);
RT_TRACE(COMP_CMDPKT,"%s(),buffer_len is %d\n",__FUNCTION__,buffer_len);
firmware_init_param(dev);
//Fragmentation might be required
}while(frag_offset < buffer_len);
Failed:
- //spin_unlock_irqrestore(&priv->tx_lock,flags);
return rt_status;
}