Commit Graph

476 Commits (e382c234cbc6fcd76e9ed1168c77fe88d75df73c)

Author SHA1 Message Date
Dan Williams 4861dd79c1 [PATCH] wireless/atmel: convert constants to ieee80211 layer equivalents
This patch converts the Atmel driver-only IEEE 802.11 constants to their
equivalents from the kernel's ieee80211 layer headers.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-02-17 08:16:59 -05:00
Jan Niehusmann 4ddc1651ce [PATCH] let IPW2{1,2}00 select IEEE80211
This patch makes the IPW2100 and IPW2200 options available in
the configuration menu even if IEEE80211 has not been selected before.
This behaviour is more intuitive for people which are not familiar with
the driver internals.
The suggestion for this change was made by Alejandro Bonilla Beeche.

Signed-off-by: Jan Niehusmann <jan@gondor.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-02-17 08:16:59 -05:00
John W. Linville 5b69e69d4e Merge branch 'upstream-fixes' 2006-02-17 08:15:58 -05:00
John W. Linville 750b50ab56 Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2006-02-17 08:15:41 -05:00
Dan Williams 7345137930 [PATCH] wireless/atmel: fix Open System authentication process bugs
This patch fixes a number of bugs in the authentication process:

1) When falling back to Shared Key authentication mode from Open System,
a missing 'return' would cause the auth request to be sent, but would
drop the card into Management Error state.  When falling back, the
driver should also indicate that it is switching to Shared Key mode by
setting exclude_unencrypted.

2) Initial authentication modes were apparently wrong in some cases,
causing the driver to attempt Shared Key authentication mode when in
fact the access point didn't support that mode or even had WEP disabled.
The driver should set the correct initial authentication mode based on
wep_is_on and exclude_unencrypted.

3) Authentication response packets from the access point in Open System
mode were getting ignored because the driver was expecting the sequence
number of a Shared Key mode response.  The patch separates the OS and SK
mode handling to provide the correct behavior.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-02-17 08:12:57 -05:00
Dan Williams 0d467502b7 [PATCH] wireless/atmel: fix setting TX key only in ENCODEEXT
The previous patch that added ENCODEEXT and AUTH support to the atmel
driver contained a slight error which would cause just setting the TX
key index to also set the encryption key again.  This patch allows any
combination of setting the TX key index and setting an encryption key.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-02-17 08:12:57 -05:00
Jesse Allen 8f6da52aef [PATCH] orinoco: support smc2532w
The orinoco wireless driver can support the SMC 2532W-B PC Card, so add the
id for it.

Signed-off-by: Jesse Allen <the3dfxdude@gmail.com>
Cc: Pavel Roskin <proski@gnu.org>
Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-12 16:10:47 -08:00
Jesper Juhl afcd024183 [PATCH] wrong firmware location in IPW2100 Kconfig entry
Firmware should go into /lib/firmware, not /etc/firmware.

Found by Alejandro Bonilla.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-10 08:13:12 -08:00
Jeff Garzik 70c07e0262 Merge branch 'viro' 2006-02-09 14:17:05 -05:00
Al Viro bf82a44949 [PATCH] type-safe min() in prism54
we do min() on u8 and small integer constant; cast the latter to u8.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-02-08 01:05:26 -05:00
Jeff Garzik 3c9b3a8575 Merge branch 'master' 2006-02-07 01:47:12 -05:00
Alexey Dobriyan 386093ef9a [PATCH] ipw2200: fix ->eeprom[EEPROM_VERSION] check
priv->eeprom is a pointer.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Yi Zhu <yi.zhu@intel.com>
Cc: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-01 08:53:11 -08:00
Jeff Garzik 0b310f36d7 Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2006-01-31 11:50:55 -05:00
Jeff Garzik 359b8800d3 Merge branch 'upstream-fixes' 2006-01-31 11:50:25 -05:00
Dan Williams f1b50863aa [PATCH] wireless/ipw2200: support WE-18 WPA enc_capa
This patch allows ipw2100 driver to advertise the WPA-related encryption
options that it does really support.  It's necessary to work correctly
with NetworkManager and other programs that actually check driver & card
capabilities.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:35 -05:00
Dan Williams 4be757dd4c [PATCH] wireless/airo: add IWENCODEEXT and IWAUTH support
This patch adds IWENCODEEXT and IWAUTH support to the airo driver for
WEP and unencrypted operation.  No WPA though.  It allows the driver to
operate more willingly with wpa_supplicant and NetworkManager.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:35 -05:00
Zhu Yi bde37d0377 [PATCH] ipw2200: Disable hwcrypto by default
After looking at the mailing list (and experiencing permanent driver lockups
while using hwcrypto=1) I think that disabling this option by default would
be better than otherwise.

Signed-off-by: Andreas Happe <andreashappe@snikt.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:35 -05:00
Zhu Yi 4644151b72 [PATCH] ipw2200: Semaphore to mutexes conversion
The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Ronald Bultje <rbultje@ronald.bitfreak.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Yi Zhu <yi.zhu@intel.com>
Cc: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:35 -05:00
Zhu Yi 2638bc3941 [PATCH] ipw2200: remove white space and better format the code
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
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
Zhu Yi 7c97eb3f1d [PATCH] ipw2200: increase ipw2200 driver version
increase ipw2200 driver version to git-1.0.10

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
Zhu Yi 4e22699fa2 [PATCH] ipw2200: Fix qos_cmd param switch bug
The patch fixes a couple of errors regarding QoS, which results in
compile warnings and malfunction of the driver.

Signed-off-by: Henrik Brix Andersen <brix@gentoo.org>
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
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
Zhu Yi 397ae121ee [PATCH] ipw2200: Scale firmware loading watchdog with the firmware size
I can't really help with why restarts happen, but the following patch
greatly increases the likelihood that a firmware reload will succeed
afterward on my thinkpad. It addresses two issues. First, sysfs module
loading and hotplug are asynchronous, and as such file operations on the
"loading" and "data" files are racy when you load 2 firmwares in quick
succession. Second, the timeout for DMAing the firmware needs to scale
with the size of the firmware being loaded. That is, the watchdog needs
to be on throughput, not on time alone.

I no longer get the firmware load errors, though this is at best a hacky
workaround for a racy interface. (Obviously, this does nothing to address
the fatal errors in firmware which cause reloads; it just causes the
initial loading and the reloads to work more often.)

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Ben M Cahill <ben.m.cahill@intel.com>
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
Zhu Yi 4bfdb91dcf [PATCH] ipw2200: add module parameter to enable/disable roaming
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:33 -05:00
Zhu Yi ede6111cae [PATCH] ipw2200: Make LED blinking frequency independent of HZ
Signed-off-by: Clemens Buchacher <drizzd@aon.at>.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:33 -05:00
Zhu Yi c7b6a6744c [PATCH] ipw2200: use jiffies_to_msec() wherever possible
This substitutes Linux jiffies_to_msec() wherever there is a
computation for determining milliseconds from jiffies,
following lead from ieee80211 code. And it does a little cleanup.
"it's" == "it is" ... "its" == possessive "it". Indulge me. ;-)

Signed-off-by: Cahill, Ben M <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:33 -05:00
Zhu Yi 810dabd466 [PATCH] ipw2200: Bluetooth coexistence support
I've added a new module param "bt_coexist" which defaults to OFF.

This does not seem to fix the firmware restarts, but it does do "the
right thing" and disables something that we were enabling by default:
signaling the Bluetooth h/w which channel we're on (whether or not the
BT h/w was out there).

Signed-off-by: Ben M Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:33 -05:00
Zhu Yi 3e234b4e57 [PATCH] ipw2200: Add LEAP authentication algorithm support
Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:33 -05:00
Zhu Yi f516dbcd7d [PATCH] ipw2200: Mask out the WEP_KEY command dump from debug log for security reason
Signed-off-by: Nick Kralevich <nick.ipw2200@kralevich.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:32 -05:00
Zhu Yi c8fe667908 [PATCH] ipw2200: Fix indirect SRAM/register 8/16-bit write routines
The indirect SRAM/register 8/16-bit write routines are broken for
non-dword-aligned destination addresses.

Fortunately, these routines are, so far, not used for non-dword-aligned
destinations, but here's a patch that fixes them, anyway.

The attached patch also adds comments for all direct/indirect I/O routine
variations.

Signed-off-by: Ben M Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:32 -05:00
Zhu Yi 71aa122d8a [PATCH] increase ipw2100 driver version to git-1.1.4
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:32 -05:00
Zhu Yi 8ed55a482e [PATCH] ipw2100: remove white space and better format the code
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:32 -05:00
Zhu Yi be6b3b15b5 [PATCH] ipw2100: Add generic geo information
This patch fixes a BUG_ON for the latest ieee80211 change.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:32 -05:00
Zhu Yi 3173ca0b76 [PATCH] ipw2100: Make iwconfig txpower setting consistent with user input
Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:31 -05:00
Zhu Yi cbbdd03fad [PATCH] ipw2100: Add LEAP authentication algorithm support
Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:31 -05:00
Adrian Bunk a73e22b286 [PATCH] drivers/net/wireless/ipw2200: possible cleanups
This patch contains the following possible cleanups:
- make needlessly global functions static
- "extern inline" -> "static inline"
- #if 0 the unused global function ipw_led_activity_on()

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:31 -05:00
Adrian Bunk 3c398b8612 [PATCH] drivers/net/wireless/ipw2100.c: make ipw2100_wpa_assoc_frame() static
This patch makes the needlessly global ipw2100_wpa_assoc_frame() static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:31 -05:00
Adrian Bunk a39d3e796c [PATCH] AIRO{,_CS} <-> CRYPTO fixes
CRYPTO is a helper variable, and to make it easier for users, it should
therefore select'ed and not be listed in the dependencies.

drivers/net/wireless/airo.c requires CONFIG_CRYPTO for compilations.

Therefore, AIRO_CS also has to CRYPTO.

Additionally, this patch removes the #ifdef's for the non-compiling
CRYPTO=n case from drivers/net/wireless/airo.c.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:30 -05:00
Adrian Bunk d86b5e0e6b [PATCH] net/: fix the WIRELESS_EXT abuse
This patch contains the following changes:
- add a CONFIG_WIRELESS_EXT select'ed by NET_RADIO for conditional
  code
- remove the now no longer required #ifdef CONFIG_NET_RADIO from some
  #include's

Based on a patch by Jean Tourrilhes <jt@hpl.hp.com>.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 20:35:30 -05:00
Adrian Bunk ae7ec20582 [PATCH] PCMCIA=m, HOSTAP_CS=y is not a legal configuration
CONFIG_PCMCIA=m, CONFIG_HOSTAP_CS=y doesn't compile.

Reported by "Gabriel C." <crazy@pimpmylinux.org>.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:36 -05:00
Zhu Yi 489f4458cd [PATCH] ipw2200: Fix a variable referenced after kfree() bug
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:35 -05:00
Zhu Yi 17ed081dee [PATCH] ipw2200: Fix sw_reset doesn't clear the static essid problem
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:35 -05:00
Zhu Yi f73cb83f1a [PATCH] ipw2200: Fix "iwspy ethx off" causes kernel panic
Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:35 -05:00
Zhu Yi b6e4da7234 [PATCH] ipw2100: Fix setting txpower failed problem
The ipw2100 driver misunderstood the parameter of txpower.
Tx Power off means turn off the radio, but the driver interpret it as
"can't set txpower". So when getting the txpower, it sets disabled=1 to
the iwconifg tool in managed mode. And the tool will display "Tx Power off"
when disabled=1.

Now, in managed mode, iwconfig will not show "TX Power" if the radio is not
switched off. It will only display "Tx Power off" only if the radio is killed.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:35 -05:00
Zhu Yi 3c5eca542d [PATCH] ipw2100: Fix a gcc compile warning
drivers/net/wireless/ipw2100.c:2236: warning: `ipw2100_match_buf' defined
but not used

Cc: Yi Zhu <yi.zhu@intel.com>
Cc: James Ketrenos <jketreno@linux.intel.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:35 -05:00
Jeff Garzik 0cc349d130 Merge branch 'upstream-fixes' 2006-01-28 16:06:45 -05:00
Valdis.Kletnieks@vt.edu 4f95af5bb5 [PATCH] orinoco_cs: tweak Vcc debugging messages
The current orinoco_cs.c can issue the exact same error message for
2 different tests that can fail.  Alter them so we can tell which
one of the two failed.

Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-27 16:49:58 -05:00
Jeff Garzik 03a49eebca Merge branch 'janitor' 2006-01-17 19:19:20 -05:00
Javier Achirica 2610c73302 airo: Off-by-one channel fix 2006-01-17 08:01:01 -05:00
Marcelo Feitoza Parisi ff5688ae1c [PATCH] drivers/net/*: use time_after() and friends
They deal with wrapping correctly and are nicer to read.  Also make
jiffies-holding variables unsigned long.

Signed-off-by: Marcelo Feitoza Parisi <marcelo@feitoza.com.br>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:59:23 -05:00
Adrian Bunk 5fad5a2e1f [PATCH] hostap: don't #include C files in hostap_main.c
This patch contains an attempt to properly build hostap.o without
#include'ing C files.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-16 16:51:54 -05:00
Adrian Bunk 8aec938389 [PATCH] ipw2100: remove code for WIRELESS_EXT < 18
WIRELESS_EXT < 18 will never be true in the kernel.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-16 16:51:54 -05:00
Dan Williams d6a13a24b7 [PATCH] drivers/net/wireless: correct reported ssid lengths
ESSIDs can technically include NULL characters.  Drivers should not be
adjusting the length of the ESSID before reporting it in their
SIOCGIWESSID handlers.  Breaks stuff like wpa_supplicant.  Note that ipw
drivers, which seem to currently be the "most correct", don't have this
problem.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-16 16:51:53 -05:00
Pavel Roskin a485cde662 [PATCH] hostap: allow flashing firmware
Host AP driver has code to support writing firmware to non-volatile
memory, a.k.a. flash.  This code has been extensively tested when Host
AP was a standalone driver.

Add a configuration option to the kernel to allow enabling this
functionality.  Improve the description of the RAM download option.
Mention cards that require it.  Remove obsolete scary comment.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-16 16:51:53 -05:00
Olaf Kirch d834a41c96 [PATCH] ipw2200: do not sleep in ipw_request_direct_scan
Drivers should not sleep for very long inside an ioctl -
so return EAGAIN and let wpa_supplicant handle the problem.

Signed-off-by: Olaf Kirch <okir@suse.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-16 16:51:53 -05:00
Graham Gower caa06b619f [PATCH] prism54/islpci_eth.c: dev_kfree_skb used with interrupts disabled
dev_kfree_skb should not be used with interrupts disabled.  Change to
use dev_kfree_skb_irq instead.

Signed-off-by: Graham Gower <graham.gower@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-16 16:51:53 -05:00
Linus Torvalds 3f02d072d4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-01-15 16:43:29 -08:00
Arjan van de Ven 858119e159 [PATCH] Unlinline a bunch of other functions
Remove the "inline" keyword from a bunch of big functions in the kernel with
the goal of shrinking it by 30kb to 40kb

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-14 18:27:06 -08:00
Adrian Bunk a8e82ef97a drivers/net/{,wireless/}Kconfig: remove dead URL
shadow.cabi.net does no longer exist.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-01-15 01:58:57 +01:00
Alex Shepard 9c782e3b20 Spelling fix in IPW2100 and IPW2200 Kconfig entries
s/remvoed/removed/

Signed-off-by: Alex Shepard <ashepard@u.washington.edu>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-01-15 01:57:00 +01:00
Dan Williams 9a6301c114 [PATCH] wireless/atmel: add IWENCODEEXT, IWAUTH, and association event support
This patch allows the Atmel driver to work correctly with wpa_supplicant
and other programs that require some conformance with WEXT-18.  It
should not affect current behavior of the driver.  The patch does four
things:

1) Implements SIOCSIWENCODEEXT, SIOCGIWENCODEEXT, SIOCSIWAUTH, and
SIOCGIWAUTH calls for unencrypted and WEP operation

2) Accepts zero-filled addresses for SIOCSIWAP, which are legal and
should turn off any previous forced WAP address

3) Sends association and de-association events to userspace at most of
the appropriate times

4) Fixes erroneous order of CIPHER_SUITE_WEP_* arguments in one location
which are actually unused anyway

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-12 16:34:24 -05:00
dann frazier 9ad8b9d152 [PATCH] CONFIG_AIRO needs CONFIG_CRYPTO
airo.c currently has MICSUPPORT enabled, which requires CONFIG_CRYPTO.  A
user reported a build failure which is due to the lack of a Kconfig
dependency.  See http://bugs.debian.org/344205.

This patch makes Kconfig enforce this dependency.

Signed-off-by: dann frazier <dannf@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-12 16:31:51 -05:00
Alan Cox 33f0f88f1c [PATCH] TTY layer buffering revamp
The API and code have been through various bits of initial review by
serial driver people but they definitely need to live somewhere for a
while so the unconverted drivers can get knocked into shape, existing
drivers that have been updated can be better tuned and bugs whacked out.

This replaces the tty flip buffers with kmalloc objects in rings. In the
normal situation for an IRQ driven serial port at typical speeds the
behaviour is pretty much the same, two buffers end up allocated and the
kernel cycles between them as before.

When there are delays or at high speed we now behave far better as the
buffer pool can grow a bit rather than lose characters. This also means
that we can operate at higher speeds reliably.

For drivers that receive characters in blocks (DMA based, USB and
especially virtualisation) the layer allows a lot of driver specific
code that works around the tty layer with private secondary queues to be
removed. The IBM folks need this sort of layer, the smart serial port
people do, the virtualisers do (because a virtualised tty typically
operates at infinite speed rather than emulating 9600 baud).

Finally many drivers had invalid and unsafe attempts to avoid buffer
overflows by directly invoking tty methods extracted out of the innards
of work queue structs. These are no longer needed and all go away. That
fixes various random hangs with serial ports on overflow.

The other change in here is to optimise the receive_room path that is
used by some callers. It turns out that only one ldisc uses receive room
except asa constant and it updates it far far less than the value is
read. We thus make it a variable not a function call.

I expect the code to contain bugs due to the size alone but I'll be
watching and squashing them and feeding out new patches as it goes.

Because the buffers now dynamically expand you should only run out of
buffering when the kernel runs out of memory for real.  That means a lot of
the horrible hacks high performance drivers used to do just aren't needed any
more.

Description:

tty_insert_flip_char is an old API and continues to work as before, as does
tty_flip_buffer_push() [this is why many drivers dont need modification].  It
does now also return the number of chars inserted

There are also

tty_buffer_request_room(tty, len)

which asks for a buffer block of the length requested and returns the space
found.  This improves efficiency with hardware that knows how much to
transfer.

and tty_insert_flip_string_flags(tty, str, flags, len)

to insert a string of characters and flags

For a smart interface the usual code is

    len = tty_request_buffer_room(tty, amount_hardware_says);
    tty_insert_flip_string(tty, buffer_from_card, len);

More description!

At the moment tty buffers are attached directly to the tty.  This is causing a
lot of the problems related to tty layer locking, also problems at high speed
and also with bursty data (such as occurs in virtualised environments)

I'm working on ripping out the flip buffers and replacing them with a pool of
dynamically allocated buffers.  This allows both for old style "byte I/O"
devices and also helps virtualisation and smart devices where large blocks of
data suddenely materialise and need storing.

So far so good.  Lots of drivers reference tty->flip.*.  Several of them also
call directly and unsafely into function pointers it provides.  This will all
break.  Most drivers can use tty_insert_flip_char which can be kept as an API
but others need more.

At the moment I've added the following interfaces, if people think more will
be needed now is a good time to say

 int tty_buffer_request_room(tty, size)

Try and ensure at least size bytes are available, returns actual room (may be
zero).  At the moment it just uses the flipbuf space but that will change.
Repeated calls without characters being added are not cumulative.  (ie if you
call it with 1, 1, 1, and then 4 you'll have four characters of space.  The
other functions will also try and grow buffers in future but this will be a
more efficient way when you know block sizes.

 int tty_insert_flip_char(tty, ch, flag)

As before insert a character if there is room.  Now returns 1 for success, 0
for failure.

 int tty_insert_flip_string(tty, str, len)

Insert a block of non error characters.  Returns the number inserted.

 int tty_prepare_flip_string(tty, strptr, len)

Adjust the buffer to allow len characters to be added.  Returns a buffer
pointer in strptr and the length available.  This allows for hardware that
needs to use functions like insl or mencpy_fromio.

Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: John Hawkes <hawkes@sgi.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-10 08:01:59 -08:00
Dan Williams 166c3436d6 [patch] ipw2100: support WEXT-18 enc_capa v3
This patch allows ipw2100 driver to advertise the WPA-related encryption
options that it does really support.  It's necessary to work correctly
with NetworkManager and other programs that actually check driver & card
capabilities.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09 11:04:31 -05:00
Dominik Brodowski f8cfa618dc [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback
Unify the EVENT_CARD_INSERTION and "attach" callbacks to one unified
probe() callback. As all in-kernel drivers are changed to this new
callback, there will be no temporary backwards-compatibility. Inside a
probe() function, each driver _must_ set struct pcmcia_device
*p_dev->instance and instance->handle correctly.

With these patches, the basic driver interface for 16-bit PCMCIA drivers
now has the classic four callbacks known also from other buses:

        int (*probe)            (struct pcmcia_device *dev);
        void (*remove)          (struct pcmcia_device *dev);

        int (*suspend)          (struct pcmcia_device *dev);
        int (*resume)           (struct pcmcia_device *dev);

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:03:24 +01:00
Dominik Brodowski b463581154 [PATCH] pcmcia: remove dev_list from drivers
The linked list of devices managed by each PCMCIA driver is, in very most
cases, unused. Therefore, remove it from many drivers.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:03:20 +01:00
Dominik Brodowski cc3b4866be [PATCH] pcmcia: unify detach, REMOVAL_EVENT handlers into one remove callback
Unify the "detach" and REMOVAL_EVENT handlers to one "remove" function.
Old functionality is preserved, for the moment.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:03:10 +01:00
Dominik Brodowski 98e4c28b7e [PATCH] pcmcia: new suspend core
Move the suspend and resume methods out of the event handler, and into
special functions. Also use these functions for pre- and post-reset, as
almost all drivers already do, and the remaining ones can easily be
converted.

Bugfix to include/pcmcia/ds.c
Signed-off-by: Andrew Morton <akpm@osdl.org>

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-05 23:59:02 +01:00
Linus Torvalds d779188d2b Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2006-01-04 16:31:56 -08:00
Stephen Hemminger 3c19065a1e [IEEE80211] ipw2200: Simplify multicast checks.
From: Stephen Hemminger <shemminger@osdl.org>

is_multicast_ether_addr() accepts broadcast too, so the
is_broadcast_ether_addr() calls are redundant.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-03 15:27:38 -08:00
Jeff Garzik ac67c62473 Merge branch 'master' 2006-01-03 10:49:18 -05:00
Pavel Roskin d495657200 [PATCH] orinoco_nortel: Add Symbol LA-4123 ID
Add ID for Symbol LA-4123.  Reported by Tomas Novak <tap@post.cz>

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 10:05:51 -05:00
Pavel Roskin c8cb00f6ac [PATCH] orinoco_nortel: Fix incorrect PCI resource use
orinoco_nortel was broken during conversion to iomem API.  Wrong PCI BAR
is used for chipset registers.  Reported by Tomas Novak <tap@post.cz>

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 10:05:50 -05:00
Brice Goglin 0f52bf9058 [PATCH] Duplicate IPW_DEBUG option for ipw2100 and 2200
There are currently two IPW_DEBUG options in drivers/net/wireless/Kconfig
(one for ipw2100 and one for ipw2200).  The attached patch splits it into
IPW2100_DEBUG and IPW2200_DEBUG.

Signed-off-by: Brice Goglin <Brice.Goglin@ens-lyon.org>
Cc: "James P. Ketrenos" <ipw2100-admin@linux.intel.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 04:51:34 -05:00
Takis c75f4742e2 [PATCH] ipw2200: kzalloc conversion and Kconfig dependency fix
- Use kzalloc for IPW2200
- Fix config dependency for IPW2200

Signed-off-by: Panagiotis Issaris <takis@issaris.org>
Cc: James Ketrenos <jketreno@linux.intel.com>
Cc: Yi Zhu <yi.zhu@intel.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 04:51:34 -05:00
Jeff Garzik 62d65a8062 Merge branch 'upstream-fixes' 2005-12-01 04:51:26 -05:00
Dan Streetman f89b232173 [PATCH] airo.c: add support for IW_ENCODE_TEMP (i.e. xsupplicant)
Hello Jeff,

this patch changes causes the airo driver to not reset the card when a
temporary WEP key is set, when the IW_ENCODE_TEMP flag is used.  This is
needed for xsupplicant as 802.1x, LEAP, etc. change WEP keys frequently
after authentication and resetting the card causes infinite
reauthentication.

Javier and Jean agree with the patch, Javier suggested I send this to
you, can you apply this?

Thanks.

Signed-off-by: Dan Streetman <ddstreet@ieee.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:40:34 -05:00
Matthieu CASTET 1d97f38448 [wireless airo] reset card in init
without this patch after an rmmod, modprobe the card won't work anymore
until the next reboot.

This patch seem safe to apply for all cards as the bsd driver already do
that.

I had to add a timeout because strange things happen (issuecommand will
fail) if the card is already reseted (after a reboot).

PS : it seems there are missing reset when leaving monitor mode...

Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
2005-12-01 02:35:26 -05:00
Pavel Roskin c08ad1e304 [PATCH] orinoco: fix setting power management parameters
Power management parameters could not be set by iwconfig due to
incorrect error handling.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:28:56 -05:00
Jeff Garzik c902f981b7 Merge branch 'upstream-fixes' 2005-11-18 15:07:11 -05:00
Jeff Garzik f7492f17f2 [wireless hermes] build fix 2005-11-18 15:06:59 -05:00
Jeff Garzik 51c83a946d Merge branch 'upstream-fixes' of git://git.tuxdriver.com/git/netdev-jwl 2005-11-18 13:57:44 -05:00
James Ketrenos eaf8f53bc0 [PATCH] ipw2100: Fix 'Driver using old /proc/net/wireless...' message
ipw2100: Fix 'Driver using old /proc/net/wireless...' message

Wireless extensions moved the get_wireless_stats handler from being
in net_device into wireless_handler.

A prior instance of this patch resolved the issue for the ipw2200.
This one fixes it for the ipw2100.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-18 13:51:40 -05:00
Jeff Garzik 97bae8dc96 Merge branch 'upstream-fixes' 2005-11-18 13:36:39 -05:00
Gabriel A. Devenyi c5b42f343d [PATCH] drivers/net/wireless/hermes.c unsigned int comparision
hermas_bap_pread,  hermes_bap_pwrite, and hermes_bap_pwrite_pad all have a parameter "len" that is declared unsigned,
but checked for a value less than zero. Auditing the callers, it is possible for len to be passed a negative value, so len should be an int.

Thanks to LinuxICC (http://linuxicc.sf.net)

Signed-off-by: Gabriel A. Devenyi <ace@staticwave.ca>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:31:00 -05:00
Roger While cbf7c42b72 [PATCH] prism54 : Remove extraneous udelay/register read
In isl_38xx.c
In routine isl38xx_trigger-device

Move unnecessary udelay/register read.
This is only required when hand-compiling the driver and
setting  VERBOSE > SHOW_ERROR_MESSAGES

Signed-off-by: Roger While <simrw@sim-basis.de>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:29:41 -05:00
John W. Linville 620d9aa95b [PATCH] i82593.h: make header comment GPL-compatible
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:29:06 -05:00
Jeff Garzik 1f8fc99300 Merge branch 'upstream-jgarzik' of git://git.tuxdriver.com/git/netdev-jwl 2005-11-18 13:23:52 -05:00
Zhu Yi 3b26b1100e [PATCH] ipw2200: fix error log offset calculation
This fixes a slab corruption issue in the ipw2200 driver: it essentially
multiplied the error log number _twice_ by the size of the error element
entry (once explicitly in the code, and once implicitly as part of the
regular pointer arithmetic).

Cc: Henrik Brix Andersen <brix@gentoo.org>
Cc: Bernard Blackham <bernard@blackham.com.au>
Cc: Zilvinas Valinskas <zilvinas@gemtek.lt>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
--
2005-11-17 08:32:58 -08:00
Pekka Enberg efb3442cf1 [PATCH] ipw2200: disallow direct scanning when device is down
The function ipw_request_direct_scan() should bail out when the device
is down.  This fixes a lockup caused by wpa_supplicant triggering
ipw_request_direct_scan() while the driver was in a middle of a reset
due to firmware errors.

Thanks to Zilvinas Valinskas for reporting the bug and helping me
debug it.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-17 08:32:58 -08:00
Adrian Bunk 7635d345b2 [PATCH] hostap: rename hostap.c to hostap_main.c
I wanted to remove the #include "hostap_ioctl.c" from hostap.c and
build hostap_ioctl.c separately, but this doesn't work since hostap.c
has the same name as the module.

After renaming hostap.c this will be possible.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-16 14:13:20 -05:00
Christophe Lucas 5bc4c36d7c [PATCH] atmel: audit return code of create_proc_read_entry
Signed-off-by: Christophe Lucas <clucas@rotomalug.org>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-16 14:13:20 -05:00
Carlo Perassi 4d791aadf6 [PATCH] atmel: CodingStyle cleanup
Reading this driver I noticed some trailing whitespaces and tabs so I
removed them with some 80th column fitting and a few more similar
things.

Signed-off-by: Carlo Perassi <carlo@linux.it>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-16 14:13:20 -05:00
Jeff Garzik 2ecc26b87a Merge branch 'atmel' 2005-11-11 08:14:56 -05:00
simon@thekelleys.org.uk b16a228d05 [PATCH] Atmel wireless update
* Merge PCMCIA card table with new Brodowski PCMCIA id table.
* Add missing entries to PCMCIA id table.
* Other tweaks to conform with Documentation/driver-changes.txt
  (types, call request_region, etc)
* Fix size of requested IO region.
* Reduce printk verbosity.
* Remove EXPERIMENTAL
* tweak to association code - don't force shared key authentication
  when wep in use.

Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-11 08:12:17 -05:00
Linus Torvalds a7c243b544 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-11-09 08:34:36 -08:00
Olaf Hering 733482e445 [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason
This patch removes almost all inclusions of linux/version.h.  The 3
#defines are unused in most of the touched files.

A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
unfortunatly in linux/version.h.

There are also lots of #ifdef for long obsolete kernels, this was not
touched.  In a few places, the linux/version.h include was move to where
the LINUX_VERSION_CODE was used.

quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`

search pattern:
/UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-09 07:55:57 -08:00
Jeff Garzik c2a8fad433 [wireless ipw2100] kill unused-var warnings for debug-disabled code 2005-11-09 00:49:38 -05:00
Jeff Garzik eedb9f09e9 Merge rsync://bughost.org/repos/ipw-delta/ 2005-11-09 00:47:08 -05:00
Jeff Garzik 3133c5e896 Merge git://git.tuxdriver.com/git/netdev-jwl 2005-11-07 22:54:48 -05:00
Panagiotis Issaris b69a3aa85c [PATCH] wireless net: Conversions of kmalloc/memset to kzalloc
More conversions of kmalloc/memset to kzalloc

Signed-off-by: Panagiotis Issaris <takis@issaris.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-07 21:50:01 -05:00
Alexey Dobriyan f36be62115 [PATCH] atmel: memset correct range
Specify the correct range when calling memset in atmel_get_range.
Do this by specifying the size of the structure, rather than the size
of the pointer.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-07 21:50:01 -05:00
Roger While 0b47939fe6 [PATCH] prism54 : Transmit stats updated in wrong place
Move update of the transmit statistics to the correct place.  This
would be just before starting transmission rather than (potentially
long) afterward.

Signed-off-by: Roger While <simrw@sim-basis.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-07 21:50:00 -05:00
Roger While de7fe963b1 [PATCH] prism54 : Unused variable / extraneous udelay
In isl_38xx.c :
The variable "counter" is defined and incremented but never
used except if the driver is hand-compiled setting
VERBOSE > SHOW_ERROR_MESSAGES.
Move the definition and the increment to within the
#if VERBOSE ..   block.

Remove extraneous udelay's.
These are not required when triggering the device.

Signed-off-by: Roger While <simrw@sim-basis.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-07 21:50:00 -05:00
James Ketrenos cf1b479b69 Update version ipw2200 stamp to 1.0.8 2005-11-07 17:52:15 -06:00
James Ketrenos 81715376de Updated firmware version stamp to 2.4 from 2.3 so it will use the latest firmware.
You can obtain the firmware at http://ipw2200.sf.net/firmware.php

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:13 -06:00
James Ketrenos 286568ab1e Fixed parameter reordering in firmware log routine.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:10 -06:00
Hong Liu 9d5b880bb8 Fixed problem with not being able to send broadcast packets.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:07 -06:00
James Ketrenos 035205760e Added channel support for ipw2200 cards identified as 'ZZR'
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:05 -06:00
James Ketrenos 991d1cc596 Removed warning about TKIP not being configured if countermeasures are
configured.

Countermeasures default to being turned off when wpa_supplicant runs,
regardless of if TKIP is being used.  They are only turned on if a TKIP
is running.  The warning we were printing is therefore not needed.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:02 -06:00
Ben Cahill e758256104 Fixes missed beacon logic in relation to on-network AP roaming.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:00 -06:00
James Ketrenos 8935f39e86 Removed legacy WIRELESS_EXT checks from ipw2200.c
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:57 -06:00
Benoit Boissinot 97a78ca968 Fix 'Driver using old /proc/net/wireless support, please fix driver !' message.
Wireless extensions moved the get_wireless_stats handler from being
in net_device into wireless_handler.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:54 -06:00
James Ketrenos 87bb5e3814 Pulled out a stray KERNEL_VERSION check around the suspend handler.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:52 -06:00
James Ketrenos 9ef539d0d6 Updated driver version stamps for ipw2100 (1.1.3) and ipw2200 (1.0.7)
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:49 -06:00
Hong Liu e63247269d Fixes WEP firmware error condition.
The problem is caused by the patch in bug455 -- Channel change flood
generates fatal error.

The patch set the DISASSOCIATING status bit after sending the command.
The process was scheduled out when waiting for the command to be sent to
the card. The disassociated notification clears the DISASSOCIATING bit
in the tasklet before the process set the bit.

Move the bit setting code before sending the command now.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:47 -06:00
Zhu Yi f4ff497d45 [Fix bug# 771] Too many (8) bytes recieved when using AES/hwcrypto
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:44 -06:00
Hong Liu 29cb843e64 Fixes problem with WEP not working (association succeeds, but no Tx/Rx)
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:41 -06:00
James Ketrenos 392d0f6d07 Removed PF_SYNCTHREAD legacy.
The PF_SYNCTHREAD check was introduced to try and remain compatible with
SWSUSP2.  This check is no longer needed with newer versions.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:39 -06:00
James Ketrenos fb7ccc9e6d Fixed problem with get_cmd_string not existing if CONFIG_IPW_DEBUG disabled.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:36 -06:00
Hong Liu cdd1fa1e10 Card with WEP enabled and using shared-key auth will have firmware
error when it tries to auth to a WPA ap. The patch filters out WPA
networks if the card is not wpa enabled when selecting network to
associate to.

Signed-off-by: Hong Liu <hong.liu@intel.com>
2005-11-07 17:51:34 -06:00
Hong Liu 567deaf6d4 Mixed PTK/GTK CCMP/TKIP support.
Signed-off-by: Hong Liu <hong.liu@intel.com>
2005-11-07 17:51:29 -06:00
Peter Jones 90700fd982 Fixed is_network_packet() to include checking for broadcast packets.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:25 -06:00
Mike Kershaw 24a47dbd89 Adds radiotap support to ipw2200 in monitor mode..
Signed-off-by: Mike Kershaw <dragorn@kismetwireless.net>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:22 -06:00
Peter Jones a4f6bbb305 Make all the places the firmware fails to load showerrors (in decimal,
so you can cross-reference errno.h easily).

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:19 -06:00
Hong Liu 054b08d484 Don't set hardware WEP if we are actually using TKIP/AES.
Signed-off-by: Hong Liu <hong.liu@intel.com>
2005-11-07 17:51:17 -06:00
Zhu Yi 5513579181 [Bug 760] Fix setting WEP key in monitor mode causes IV lost.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:51:14 -06:00
Hong Liu 7b99659f97 [Bug 455] Fix frequent channel change generates firmware fatal error.
Because of the frequent channel change, it is possible that when we are
try to associate with channel 1 (authenticated but not associated).
Another channel change comes at this time, then the driver will issue
disassociate command to the firmware which will cause the fatal error.

It seems that the association/disassociation procedure should not be
interrupted.

The patch attached adds test on STATUS_ASSOCIATING | STATUS_DISASSOCIATING
in ipw_send_cmd(), when ensures that commands will not be sent to firmware
when we are in these two status.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:51:11 -06:00
James Ketrenos a0e04ab360 Added wait_state wakeup on scan completion.
Fixed copyright date in ipw2200.h

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:09 -06:00
James Ketrenos 3b9990cb17 Updated ipw2200 to use the new ieee80211 callbacks
(handle_probe_response, handle_beacon, handle_association_response).

Fixed a problem with ipw_send_cmd() returning non-zero on success.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:06 -06:00
Liu Hong 1fe0adb431 Migrated some of the channel verification code back into the driver to
keep regulatory consistency in one location.

Signed-off-by: James Ketrenos
2005-11-07 17:51:03 -06:00
James Ketrenos f6c5cb7c6f Added cmdlog in non-debug systems.
You can now specify via the module parameter 'cmdlog' to allocate a
ring buffer for caching host commands sent to the firmware. They can
then be dumped at any time via the sysfs entry 'cmd_log'

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:00 -06:00
James Ketrenos 9ddf84f6f2 Changed all of the ipw_send_cmd() calls to return any ipw_send_cmd error
codes to the caller and changed ipw_send_cmd itself to print the error
message to the syslog indicating which command failed to be sent.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:58 -06:00
James Ketrenos b39860c60b Switched firmware error dumping so that it will capture a log available
via sysfs even if debugging disabled.  When a firmware error is
captured, it will be dumped to the kernel log (if debug enabled) and
captured in memory to be retrieved via sysfs.

If an error has already been captured, subsequent errors will be
dropped.

The existing error can be cleared by writing to the error log entry.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:55 -06:00
James Ketrenos e666619e23 Modified ipw_config and STATUS_INIT setting to correct race condition
with request_scan being called before initialized if invoked from
insmod, resulting in no association occurring during boot until iwlist
scan is run.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:52 -06:00
Zhu Yi 6de9f7f27d Fix firmware error when setting tx_power.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:50 -06:00
Zhu Yi 22501c8ed7 Fix ipw_wx_get_txpow shows wrong disabled value.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:47 -06:00
Zhu Yi 0ece35b557 [Bug 701] Fix a misuse of ieee->mode with ieee->iw_mode.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:45 -06:00
Hong Liu caeff81b4e Fixes the ad-hoc network WEP key list issue.
If we configure the wep keys after creating the ibss network, the
beacons of this network will not show correctly (it still shows "key
off" in iwlist scan report). This is because we don't update the
beacon info in firmware.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:42 -06:00
Zhu Yi 1fbfea549f [Bug 792] Fix WPA-PSK AES both for -Dipw and -Dwext.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:39 -06:00
Zhu Yi e402c93741 Disable host fragmentation in open mode since IPW2200/2915 hardware
support hardware fragmentation.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:37 -06:00
Zhu Yi 87b016cb64 Workaround kernel BUG_ON panic caused by unexpected duplicate packets.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:34 -06:00
James Ketrenos 4f36f8088a Added more useful geography encoding so people's experience with
iwconfig matches what their hardware can actually do in regard to
supported channel maps, etc.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:32 -06:00
James Ketrenos 2b184d5b54 Fixed some compiler issues if CONFIG_IPW2200_QOS is enabled.
Updated a copyright date.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:29 -06:00
James Ketrenos 227d2dc1f1 Updated to support ieee80211 callback to is_queue_full for 802.11e
support.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:27 -06:00
James Ketrenos d2021cb4e2 Changed default # of missed beacons to miss before disassociation to 24
(vs. 9 which is too low in most environments)

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:24 -06:00
Liu Hong 8400a1ceb4 [Bug 637] Set tx power for A band.
It uses the ieee80211-geo info to set the tx power of the a/b/g band.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:21 -06:00
Zhu Yi d8bad6df04 [bug 667] Fix the notorious "No space for Tx" bug.
We send SYSTEM_CONFIG command after the TGI_KEY command if hardware
encryption is enabled. It sometimes causes a firmware stall (firmware
doesn't respond to any request) and finally bungs up the Tx send queue.
The solution is to send SYSTEM_CONFIG command in the post association
stage from a workqueue.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:19 -06:00
Zhu Yi f57ce7ce9c Fix is_duplicate_packet() bug for fragmentation number setting.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:16 -06:00
Zhu Yi a2d73e60bb Fix hardware encryption (both WEP and AES) doesn't work with fragmentation.
Firmware sends received packets with double sized ICV/MIC.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:14 -06:00