{
struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
int ret;
- //unsigned long flags;
cb_desc *tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
u8 queue_index = tcb_desc->queue_index;
+
/* shall not be referred by command packet */
assert(queue_index != TXCMD_QUEUE);
- if (priv->bHwRadioOff ||(!priv->up))
+ if (priv->bHwRadioOff || (!priv->up))
{
kfree_skb(skb);
return;
}
- //spin_lock_irqsave(&priv->tx_lock,flags);
+ memcpy(skb->cb, &dev, sizeof(dev));
- memcpy((unsigned char *)(skb->cb),&dev,sizeof(dev));
-#if 0
- tcb_desc->RATRIndex = 7;
- tcb_desc->bTxDisableRateFallBack = 1;
- tcb_desc->bTxUseDriverAssingedRate = 1;
- tcb_desc->bTxEnableFwCalcDur = 1;
-#endif
skb_push(skb, priv->ieee80211->tx_headroom);
ret = rtl8192_tx(dev, skb);
- if(ret != 0) {
+ if (ret != 0) {
kfree_skb(skb);
- };
-
-//
- if(queue_index!=MGNT_QUEUE) {
- priv->ieee80211->stats.tx_bytes+=(skb->len - priv->ieee80211->tx_headroom);
- priv->ieee80211->stats.tx_packets++;
}
- //spin_unlock_irqrestore(&priv->tx_lock,flags);
-
-// return ret;
+ if (queue_index != MGNT_QUEUE) {
+ priv->ieee80211->stats.tx_bytes += (skb->len - priv->ieee80211->tx_headroom);
+ priv->ieee80211->stats.tx_packets++;
+ }
}
/*