Search Linux Wireless

Re: [PATCH] mac80211: make align adjustment code support paged SKB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2009-10-28 at 13:13 -0700, Reinette Chatre wrote:
> From: Zhu Yi <yi.zhu@xxxxxxxxx>
> 
> This fixed a BUG_ON in __skb_trim() when paged rx is used in
> iwlwifi driver. Yes, the whole mac80211 stack doesn't support
> paged SKB yet. But let's start the work slowly from small
> code snippets.
> 
> Reported-and-tested-by: Abhijeet Kolekar <abhijeet.kolekar@xxxxxxxxx>
> Signed-off-by: Zhu Yi <yi.zhu@xxxxxxxxx>
> Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>

Acked-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>

we'll also be working on moving more paged RX awareness into the stack
so other drivers can benefit and things get more efficient.

johannes

> ---
>  net/mac80211/rx.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index 5c385e3..a50d5f3 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -1337,10 +1337,10 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
>  				skb = NULL;
>  			} else {
>  				u8 *data = skb->data;
> -				size_t len = skb->len;
> -				u8 *new = __skb_push(skb, align);
> -				memmove(new, data, len);
> -				__skb_trim(skb, len);
> +				size_t len = skb_headlen(skb);
> +				skb->data -= align;
> +				memmove(skb->data, data, len);
> +				skb_set_tail_pointer(skb, len);
>  			}
>  		}
>  #endif

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux