Hi Keir: I noticed that the recent change to netfront accidetanlly removed the 16-byte reservation. This patch puts it back. [NET] front: Restore 16 bytes of reservation By replacing dev_alloc_skb with alloc_skb we need to do the 16-byte reservation ourselves. Also, it''s unnecessary to align the size when calling alloc_skb since the alignment is an implementation detail of alloc_skb and it already takes care of it for us. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- diff -r 1d817bfc5ed9 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Fri Aug 11 14:22:54 2006 +0100 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Sat Aug 12 12:26:06 2006 +1000 @@ -615,7 +615,7 @@ static void network_alloc_rx_buffers(str * necessary here. * 16 bytes added as necessary headroom for netif_receive_skb. */ - skb = alloc_skb(SKB_DATA_ALIGN(RX_COPY_THRESHOLD + 16), + skb = alloc_skb(RX_COPY_THRESHOLD + 16, GFP_ATOMIC | __GFP_NOWARN); if (unlikely(!skb)) goto no_skb; @@ -633,6 +633,7 @@ no_skb: break; } + skb_reserve(skb, 16); skb_shinfo(skb)->frags[0].page = page; skb_shinfo(skb)->nr_frags = 1; __skb_queue_tail(&np->rx_batch, skb); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel