aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorGertjan van Wingerde <gwingerde@gmail.com>2010-06-29 15:40:02 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-30 15:00:49 -0400
commit398ab9ea74f06eb98e4b28c2e9b43bf43e8730ab (patch)
treea2d1617a1bb85be7df19d04e54fab494918d59ad /drivers/net/wireless
parent1ed7a17a8eb4e60b9e25d9d0eaec19ac704d4f9b (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.c6
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