linux/drivers/net/wireless
Zhu Yi 0a7bcf261e [PATCH] ipw2200: stack reduction
Checking the stack usage of my kernel, showed that ipw2200 had a few bad
offenders. This is on i386 32-bit:

0x00002876 ipw_send_associate:                          544
0x000028ee ipw_send_associate:                          544
0x000027dc ipw_send_scan_request_ext:                   520
0x00002864 ipw_set_sensitivity:                         520
0x00005eac ipw_set_rsn_capa:                            520

The reason is the host_cmd structure is large (500 bytes). All other
functions currently using ipw_send_cmd() suffer from the same problem.
This patch introduces ipw_send_cmd_simple() for commands with no data
transfer, and ipw_send_cmd_pdu() for commands with a data payload and
makes the payload a pointer to the buffer passed in from the caller.

As an added bonus, the diffstat looks like this:

 ipw2200.c |  260 +++++++++++++++++++++-----------------------------------------
 ipw2200.h |    2
 2 files changed, 92 insertions(+), 170 deletions(-)

and it shrinks the module a lot as well:

Before:

   text    data     bss     dec     hex filename
  75177    2472      44   77693   12f7d drivers/net/wireless/ipw2200.ko

After:

   text    data     bss     dec     hex filename
  61363    2488      44   63895    f997 drivers/net/wireless/ipw2200.ko

So about a ~18% reduction in module size.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:34 -05:00
..
hostap [PATCH] PCMCIA=m, HOSTAP_CS=y is not a legal configuration 2006-01-30 17:41:36 -05:00
prism54 [PATCH] drivers/net/wireless: correct reported ssid lengths 2006-01-16 16:51:53 -05:00
airo_cs.c [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
airo.c [PATCH] AIRO{,_CS} <-> CRYPTO fixes 2006-01-30 20:35:30 -05:00
airo.h [PATCH] airo.c/airo_cs.c: correct prototypes 2005-11-05 21:00:03 -05:00
airport.c
arlan-main.c
arlan-proc.c
arlan.h
atmel_cs.c [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
atmel_pci.c [PATCH] Atmel wireless update 2005-11-11 08:12:17 -05:00
atmel.c [PATCH] drivers/net/wireless: correct reported ssid lengths 2006-01-16 16:51:53 -05:00
atmel.h [PATCH] Atmel wireless update 2005-11-11 08:12:17 -05:00
hermes_rid.h
hermes.c [PATCH] drivers/net/wireless/hermes.c unsigned int comparision 2005-11-18 13:31:00 -05:00
hermes.h [wireless hermes] build fix 2005-11-18 15:06:59 -05:00
i82586.h
i82593.h [PATCH] i82593.h: make header comment GPL-compatible 2005-11-18 13:29:06 -05:00
ipw2100.c [PATCH] increase ipw2100 driver version to git-1.1.4 2006-01-30 20:35:32 -05:00
ipw2100.h [PATCH] ipw2100: Add LEAP authentication algorithm support 2006-01-30 20:35:31 -05:00
ipw2200.c [PATCH] ipw2200: stack reduction 2006-01-30 20:35:34 -05:00
ipw2200.h [PATCH] ipw2200: stack reduction 2006-01-30 20:35:34 -05:00
Kconfig [PATCH] AIRO{,_CS} <-> CRYPTO fixes 2006-01-30 20:35:30 -05:00
Makefile
netwave_cs.c [PATCH] net/: fix the WIRELESS_EXT abuse 2006-01-30 20:35:30 -05:00
orinoco_cs.c [PATCH] orinoco_cs: tweak Vcc debugging messages 2006-01-27 16:49:58 -05:00
orinoco_nortel.c [PATCH] orinoco_nortel: Add Symbol LA-4123 ID 2005-12-24 10:05:51 -05:00
orinoco_pci.c
orinoco_plx.c
orinoco_tmd.c
orinoco.c [PATCH] orinoco: fix setting power management parameters 2005-12-01 02:28:56 -05:00
orinoco.h [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
ray_cs.c [PATCH] drivers/net/wireless: correct reported ssid lengths 2006-01-16 16:51:53 -05:00
ray_cs.h
rayctl.h
README
spectrum_cs.c [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
strip.c [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
todo.txt
wavelan_cs.c [PATCH] drivers/net/wireless: correct reported ssid lengths 2006-01-16 16:51:53 -05:00
wavelan_cs.h
wavelan_cs.p.h [PATCH] net/: fix the WIRELESS_EXT abuse 2006-01-30 20:35:30 -05:00
wavelan.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
wavelan.h
wavelan.p.h [PATCH] net/: fix the WIRELESS_EXT abuse 2006-01-30 20:35:30 -05:00
wl3501_cs.c [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback 2006-01-06 00:03:24 +01:00
wl3501.h

	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