int txbeaconcount;
struct buffer *txbeaconbufs;
struct buffer *txbeaconbufstail;
- ptx_ring txmapring;
- ptx_ring txbkpring;
- ptx_ring txbepring;
- ptx_ring txvipring;
- ptx_ring txvopring;
- ptx_ring txcmdring;
- ptx_ring txmapringtail;
- ptx_ring txbkpringtail;
- ptx_ring txbepringtail;
- ptx_ring txvipringtail;
- ptx_ring txvopringtail;
- ptx_ring txcmdringtail;
- ptx_ring txmapringhead;
- ptx_ring txbkpringhead;
- ptx_ring txbepringhead;
- ptx_ring txvipringhead;
- ptx_ring txvopringhead;
- ptx_ring txcmdringhead;
- dma_addr_t txmapringdma;
- dma_addr_t txbkpringdma;
- dma_addr_t txbepringdma;
- dma_addr_t txvipringdma;
- dma_addr_t txvopringdma;
- dma_addr_t txcmdringdma;
// u8 chtxpwr[15]; //channels from 1 to 14, 0 not used
// u8 chtxpwr_ofdm[15]; //channels from 1 to 14, 0 not used
// u8 cck_txpwr_base;
TxCheckStuck(struct net_device *dev)
{
struct r8192_priv *priv = ieee80211_priv(dev);
- u8 QueueID;
- ptx_ring head=NULL,tail=NULL,txring = NULL;
u8 ResetThreshold = NIC_SEND_HANG_THRESHOLD_POWERSAVE;
bool bCheckFwTxCnt = false;
break;
}
- //
- // Check whether specific tcb has been queued for a specific time
- //
- for(QueueID = 0; QueueID < MAX_TX_QUEUE; QueueID++)
- {
-
-
- if(QueueID == TXCMD_QUEUE)
- continue;
-
- switch(QueueID) {
- case MGNT_QUEUE:
- tail=priv->txmapringtail;
- head=priv->txmapringhead;
- break;
-
- case BK_QUEUE:
- tail=priv->txbkpringtail;
- head=priv->txbkpringhead;
- break;
-
- case BE_QUEUE:
- tail=priv->txbepringtail;
- head=priv->txbepringhead;
- break;
-
- case VI_QUEUE:
- tail=priv->txvipringtail;
- head=priv->txvipringhead;
- break;
-
- case VO_QUEUE:
- tail=priv->txvopringtail;
- head=priv->txvopringhead;
- break;
-
- default:
- tail=head=NULL;
- break;
- }
-
- if(tail == head)
- continue;
- else
- {
- txring = head;
- if(txring == NULL)
- {
- RT_TRACE(COMP_ERR,"%s():txring is NULL , BUG!\n",__FUNCTION__);
- continue;
- }
- txring->nStuckCount++;
- bCheckFwTxCnt = TRUE;
- }
- }
#if 1
if(bCheckFwTxCnt)
{