Commit 8b9db0d0 authored by David S. Miller's avatar David S. Miller

rtl818x: Remove SKB list assumptions.

Eliminate the assumption that SKBs and SKB list heads can
be cast to eachother in SKB list handling code.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6effee68
...@@ -499,7 +499,7 @@ static void rtl8187b_status_cb(struct urb *urb) ...@@ -499,7 +499,7 @@ static void rtl8187b_status_cb(struct urb *urb)
if (cmd_type == 1) { if (cmd_type == 1) {
unsigned int pkt_rc, seq_no; unsigned int pkt_rc, seq_no;
bool tok; bool tok;
struct sk_buff *skb; struct sk_buff *skb, *iter;
struct ieee80211_hdr *ieee80211hdr; struct ieee80211_hdr *ieee80211hdr;
unsigned long flags; unsigned long flags;
...@@ -508,8 +508,9 @@ static void rtl8187b_status_cb(struct urb *urb) ...@@ -508,8 +508,9 @@ static void rtl8187b_status_cb(struct urb *urb)
seq_no = (val >> 16) & 0xFFF; seq_no = (val >> 16) & 0xFFF;
spin_lock_irqsave(&priv->b_tx_status.queue.lock, flags); spin_lock_irqsave(&priv->b_tx_status.queue.lock, flags);
skb_queue_reverse_walk(&priv->b_tx_status.queue, skb) { skb = NULL;
ieee80211hdr = (struct ieee80211_hdr *)skb->data; skb_queue_reverse_walk(&priv->b_tx_status.queue, iter) {
ieee80211hdr = (struct ieee80211_hdr *)iter->data;
/* /*
* While testing, it was discovered that the seq_no * While testing, it was discovered that the seq_no
...@@ -522,10 +523,12 @@ static void rtl8187b_status_cb(struct urb *urb) ...@@ -522,10 +523,12 @@ static void rtl8187b_status_cb(struct urb *urb)
* it's unlikely we wrongly ack some sent data * it's unlikely we wrongly ack some sent data
*/ */
if ((le16_to_cpu(ieee80211hdr->seq_ctrl) if ((le16_to_cpu(ieee80211hdr->seq_ctrl)
& 0xFFF) == seq_no) & 0xFFF) == seq_no) {
skb = iter;
break; break;
} }
if (skb != (struct sk_buff *) &priv->b_tx_status.queue) { }
if (skb) {
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
__skb_unlink(skb, &priv->b_tx_status.queue); __skb_unlink(skb, &priv->b_tx_status.queue);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment