diff options
author | Gertjan van Wingerde <gwingerde@gmail.com> | 2010-06-29 15:40:02 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-30 15:00:49 -0400 |
commit | 398ab9ea74f06eb98e4b28c2e9b43bf43e8730ab (patch) | |
tree | a2d1617a1bb85be7df19d04e54fab494918d59ad /drivers/net/wireless | |
parent | 1ed7a17a8eb4e60b9e25d9d0eaec19ac704d4f9b (diff) |
rt2x00: Fix frame dumping for USB devices.
We forgot to clear the SKBDESC_DESC_IN_SKB when the descriptor was removed
from the front of the skb.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index b45bc24c3dae..97597543c70b 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/rt2x00/rt2x00usb.c | |||
@@ -171,6 +171,7 @@ static void rt2x00usb_interrupt_txdone(struct urb *urb) | |||
171 | { | 171 | { |
172 | struct queue_entry *entry = (struct queue_entry *)urb->context; | 172 | struct queue_entry *entry = (struct queue_entry *)urb->context; |
173 | struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; | 173 | struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; |
174 | struct skb_frame_desc *skbdesc = get_skb_frame_desc(entry->skb); | ||
174 | struct txdone_entry_desc txdesc; | 175 | struct txdone_entry_desc txdesc; |
175 | 176 | ||
176 | if (!test_bit(DEVICE_STATE_ENABLED_RADIO, &rt2x00dev->flags) || | 177 | if (!test_bit(DEVICE_STATE_ENABLED_RADIO, &rt2x00dev->flags) || |
@@ -183,6 +184,11 @@ static void rt2x00usb_interrupt_txdone(struct urb *urb) | |||
183 | skb_pull(entry->skb, entry->queue->desc_size); | 184 | skb_pull(entry->skb, entry->queue->desc_size); |
184 | 185 | ||
185 | /* | 186 | /* |
187 | * Signal that the TX descriptor is no longer in the skb. | ||
188 | */ | ||
189 | skbdesc->flags &= ~SKBDESC_DESC_IN_SKB; | ||
190 | |||
191 | /* | ||
186 | * Obtain the status about this packet. | 192 | * Obtain the status about this packet. |
187 | * Note that when the status is 0 it does not mean the | 193 | * Note that when the status is 0 it does not mean the |
188 | * frame was send out correctly. It only means the frame | 194 | * frame was send out correctly. It only means the frame |