From: Gertjan van Wingerde Date: Tue, 29 Jun 2010 19:40:02 +0000 (+0200) Subject: rt2x00: Fix frame dumping for USB devices. X-Git-Tag: v2.6.36-rc1~571^2~107^2~127 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=398ab9ea74f06eb98e4b28c2e9b43bf43e8730ab;p=platform%2Fkernel%2Flinux-3.10.git 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 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index b45bc24..9759754 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) { struct queue_entry *entry = (struct queue_entry *)urb->context; struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; + struct skb_frame_desc *skbdesc = get_skb_frame_desc(entry->skb); struct txdone_entry_desc txdesc; if (!test_bit(DEVICE_STATE_ENABLED_RADIO, &rt2x00dev->flags) || @@ -183,6 +184,11 @@ static void rt2x00usb_interrupt_txdone(struct urb *urb) skb_pull(entry->skb, entry->queue->desc_size); /* + * Signal that the TX descriptor is no longer in the skb. + */ + skbdesc->flags &= ~SKBDESC_DESC_IN_SKB; + + /* * Obtain the status about this packet. * Note that when the status is 0 it does not mean the * frame was send out correctly. It only means the frame