linux-stable-rt/drivers/net/wireless
Herbert Xu 5b057c6b1a [NET]: Avoid allocating skb in skb_pad
First of all it is unnecessary to allocate a new skb in skb_pad since
the existing one is not shared.  More importantly, our hard_start_xmit
interface does not allow a new skb to be allocated since that breaks
requeueing.

This patch uses pskb_expand_head to expand the existing skb and linearize
it if needed.  Actually, someone should sift through every instance of
skb_pad on a non-linear skb as they do not fit the reasons why this was
originally created.

Incidentally, this fixes a minor bug when the skb is cloned (tcpdump,
TCP, etc.).  As it is skb_pad will simply write over a cloned skb.  Because
of the position of the write it is unlikely to cause problems but still
it's best if we don't do it.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-23 02:06:41 -07:00
..
bcm43xx
hostap
prism54
Kconfig
Makefile
README
airo.c
airo.h
airo_cs.c
airport.c
arlan-main.c
arlan-proc.c
arlan.h
atmel.c
atmel.h
atmel_cs.c
atmel_pci.c
hermes.c
hermes.h
hermes_rid.h
i82586.h
i82593.h
ipw2100.c
ipw2100.h
ipw2200.c
ipw2200.h
netwave_cs.c
orinoco.c
orinoco.h
orinoco_cs.c
orinoco_nortel.c
orinoco_pci.c
orinoco_pci.h
orinoco_plx.c
orinoco_tmd.c
ray_cs.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
ray_cs.h
rayctl.h
spectrum_cs.c
strip.c
todo.txt
wavelan.c [PATCH] skb_padto()-area fixes in 8390, wavelan 2006-06-22 23:32:02 -04:00
wavelan.h
wavelan.p.h
wavelan_cs.c [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
wavelan_cs.h
wavelan_cs.p.h
wl3501.h
wl3501_cs.c
zd1201.c
zd1201.h

README

	README
	------

	This directory is mostly for Wireless LAN drivers, in their
various incarnations (ISA, PCI, Pcmcia...).
	This separate directory is needed because a lot of driver work
on different bus (typically PCI + Pcmcia) and share 95% of the
code. This allow the code and the config options to be in one single
place instead of scattered all over the driver tree, which is never
100% satisfactory.

	Note : if you want more info on the topic of Wireless LANs,
you are kindly invited to have a look at the Wireless Howto :
		http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
	Some Wireless LAN drivers, like orinoco_cs, require the use of
Wireless Tools to be configured :
		http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html

	Special notes for distribution maintainers :
	1) wvlan_cs will be discontinued soon in favor of orinoco_cs
	2) Please add Wireless Tools support in your scripts

	Have fun...

	Jean