public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
From: Samuel Ortiz <samuel@sortiz.org>
To: Zhu Yi <yi.zhu@intel.com>
Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org,
	Johannes Berg <johannes@sipsolutions.net>
Subject: Re: [PATCH v3 2/2] iwmc3200wifi: rx aggregation support
Date: Mon, 30 Nov 2009 17:16:36 +0100	[thread overview]
Message-ID: <1259597796.2182.10.camel@caravaggio> (raw)
In-Reply-To: <1259555157-10866-2-git-send-email-yi.zhu@intel.com>

Hi Yi,

On Mon, 2009-11-30 at 12:25 +0800, Zhu Yi wrote:
>  static void iwm_rx_process_packet(struct iwm_priv *iwm,
>  				  struct iwm_rx_packet *packet,
>  				  struct iwm_rx_ticket_node *ticket_node)
> @@ -1548,22 +1579,31 @@ static void iwm_rx_process_packet(struct iwm_priv *iwm,
>  	switch (le16_to_cpu(ticket_node->ticket->action)) {
>  	case IWM_RX_TICKET_RELEASE:
>  		IWM_DBG_RX(iwm, DBG, "RELEASE packet\n");
> +
> +		skb->dev = iwm_to_ndev(iwm);
> +		skb->protocol = eth_type_trans(skb, ndev);
> +		skb->ip_summed = CHECKSUM_NONE;
> +		memset(skb->cb, 0, sizeof(skb->cb));
> +
I dont think you want to do that processing before calling
iwm_rx_adjust_packet() and probably not even before
ieee80211_data_to_8023(). You need 802.3 frames for it to be relevant.
Moreover, you probably want to do it for every skb on the skb queue you
get from the amsdu processing.

Cheers,
Samuel.


>  		classify8023(skb);
>  		iwm_rx_adjust_packet(iwm, packet, ticket_node);
> +
> +		if (le16_to_cpu(ticket_node->ticket->flags) &
> +		    IWM_RX_TICKET_AMSDU_MSK) {
> +			iwm_rx_process_amsdu(iwm, skb);
> +			break;
> +		}
> +
>  		ret = ieee80211_data_to_8023(skb, ndev->dev_addr, wdev->iftype);
>  		if (ret < 0) {
>  			IWM_DBG_RX(iwm, DBG, "Couldn't convert 802.11 header - "
>  				   "%d\n", ret);
> +			kfree_skb(packet->skb);
>  			break;
>  		}
>  
>  		IWM_HEXDUMP(iwm, DBG, RX, "802.3: ", skb->data, skb->len);
>  
> -		skb->dev = iwm_to_ndev(iwm);
> -		skb->protocol = eth_type_trans(skb, ndev);
> -		skb->ip_summed = CHECKSUM_NONE;
> -		memset(skb->cb, 0, sizeof(skb->cb));
> -
>  		ndev->stats.rx_packets++;
>  		ndev->stats.rx_bytes += skb->len;
>  



  reply	other threads:[~2009-11-30 16:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-30  4:25 [PATCH v3 1/2] wireless: add ieee80211_amsdu_to_8023s Zhu Yi
2009-11-30  4:25 ` [PATCH v3 2/2] iwmc3200wifi: rx aggregation support Zhu Yi
2009-11-30 16:16   ` Samuel Ortiz [this message]
2009-11-30 15:20 ` [PATCH v3 1/2] wireless: add ieee80211_amsdu_to_8023s Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1259597796.2182.10.camel@caravaggio \
    --to=samuel@sortiz.org \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=yi.zhu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox