diff --git a/[refs] b/[refs] index 24ed5104f48c..c4e66a111219 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1ed7a17a8eb4e60b9e25d9d0eaec19ac704d4f9b +refs/heads/master: 398ab9ea74f06eb98e4b28c2e9b43bf43e8730ab diff --git a/trunk/drivers/net/wireless/rt2x00/rt2x00usb.c b/trunk/drivers/net/wireless/rt2x00/rt2x00usb.c index b45bc24c3dae..97597543c70b 100644 --- a/trunk/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/trunk/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) || @@ -182,6 +183,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