On Sun, Feb 06, 2011 at 12:44:31PM -0600, Larry Finger wrote: > +bool _rtl92c_cmd_send_packet(struct ieee80211_hw *hw, > + struct sk_buff *skb) > +{ > + struct rtl_priv *rtlpriv = rtl_priv(hw); > + struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); > + struct rtl8192_tx_ring *ring; > + struct rtl_tx_desc *pdesc; > + u8 own; > + unsigned long flags; > + struct sk_buff *pskb = NULL; > + > + ring = &rtlpci->tx_ring[BEACON_QUEUE]; > + > + pskb = __skb_dequeue(&ring->queue); > + if (pskb) > + kfree_skb(pskb); > + > + spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); I think __skb_dequeue(&ring->queue) should be also protected by lock. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html