iwl3945: better skb management in rx path
authorEric Dumazet <edumazet@google.com>
Fri, 28 Jun 2013 15:05:06 +0000 (08:05 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 24 Jul 2013 15:02:04 +0000 (11:02 -0400)
commit45fe142cefa864b685615bcb930159f6749c3667
treee3e3b031a8780bcc0cd7ab228945cc9701f39bdb
parentc6c7788fe26fdc91e729f60742815ccdb505fd81
iwl3945: better skb management in rx path

Steinar reported reallocations of skb->head with IPv6, leading to
a warning in skb_try_coalesce()

It turns out iwl3945 has several problems :

1) skb->truesize is underestimated.
   We really consume PAGE_SIZE bytes for a fragment,
   not the frame length.
2) 128 bytes of initial headroom is a bit low and forces reallocations.
3) We can avoid consuming a full page for small enough frames.

Reported-by: Steinar H. Gunderson <sesse@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Paul Stewart <pstew@google.com>
Acked-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlegacy/3945.c