From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-wy0-f174.google.com ([74.125.82.174]:38421 "EHLO mail-wy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755341Ab0F2Tu4 (ORCPT ); Tue, 29 Jun 2010 15:50:56 -0400 Received: by mail-wy0-f174.google.com with SMTP id 38so2999627wyb.19 for ; Tue, 29 Jun 2010 12:50:55 -0700 (PDT) From: Ivo van Doorn To: "John W. Linville" Subject: [PATCH 04/21] rt2x00: Fix frame dumping for USB devices. Date: Tue, 29 Jun 2010 21:40:02 +0200 Cc: users@rt2x00.serialmonkey.com, linux-wireless@vger.kernel.org, Helmut Schaa , Gertjan van Wingerde References: <201006292138.13509.IvDoorn@gmail.com> <201006292138.56463.IvDoorn@gmail.com> <201006292139.30199.IvDoorn@gmail.com> In-Reply-To: <201006292139.30199.IvDoorn@gmail.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Message-Id: <201006292140.03875.IvDoorn@gmail.com> Sender: linux-wireless-owner@vger.kernel.org List-ID: From: Gertjan van Wingerde 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 --- 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 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 -- 1.6.6.1