GRO: Move netpoll checks to correct location
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 16 Mar 2009 17:50:02 +0000 (10:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Mar 2009 17:50:02 +0000 (10:50 -0700)
commitd1c76af9e2434fac3add561e26c61b06503de986
treecbedc7c96c4b7db3d7a5a8300117804c5e0230d9
parentafece1c6587010cc81d1a43045c855774e8234a3
GRO: Move netpoll checks to correct location

As my netpoll fix for net doesn't really work for net-next, we
need this update to move the checks into the right place.  As it
stands we may pass freed skbs to netpoll_receive_skb.

This patch also introduces a netpoll_rx_on function to avoid GRO
completely if we're invoked through netpoll.  This might seem
paranoid but as netpoll may have an external receive hook it's
better to be safe than sorry.  I don't think we need this for
2.6.29 though since there's nothing immediately broken by it.

This patch also moves the GRO_* return values to netdevice.h since
VLAN needs them too (I tried to avoid this originally but alas
this seems to be the easiest way out).  This fixes a bug in VLAN
where it continued to use the old return value 2 instead of the
correct GRO_DROP.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h
include/linux/netpoll.h
net/8021q/vlan_core.c
net/core/dev.c