Commit Graph

50 Commits

Author SHA1 Message Date
Sukadev Bhattiprolu
3b4c7d6403 [PATCH] kthread: airo.c
The airo driver is currently caching a pid for later use, but with the
implementation of containers, pids themselves do not uniquely identify a
task.  The driver is also using kernel_thread() which is deprecated in
drivers.

This patch essentially replaces the kernel_thread() with kthread_create().
It also stores the task_struct of the airo_thread rather than its pid.
Since this introduces a second task_struct in struct airo_info, the patch
renames airo_info.task to airo_info.list_bss_task.

As an extension of these changes, the patch further:

	 - replaces kill_proc() with kthread_stop()
	 - replaces signal_pending() with kthread_should_stop()
	 - removes thread completion synchronisation which is handled by
	   kthread_stop().

[akpm@osdl.org: fix races]
Signed-off-by: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Cc: Javier Achirica <achirica@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:28 -04:00
Robert Schulze
13dca9b87e [PATCH] airo: collapse debugging-messages in issuecommand to one line
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-07-27 16:17:26 -04:00
Thomas Gleixner
1fb9df5d30 [PATCH] irq-flags: drivers/net: Use the new IRQF_ constants
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-02 13:58:51 -07:00
Jörn Engel
6ab3d5624e Remove obsolete #include <linux/config.h>
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-06-30 19:25:36 +02:00
Michal Schmidt
0c6157a371 [PATCH] wireless/airo: minimal WPA awareness
Running Linux 2.6.17-rc3-mm1 which has this patch included I get this
interesting message:
airo(eth0): WPA unsupported (only firmware versions 5.30.17 and greater
support WPA.  Detected 5.30.17)

airo_test_wpa_capable assumes that the softSubVer part of the firmware
version number is coded in BCD. Apparently, that's not true.
I have firmware version 5.30.17 and cap_rid.softSubVer is 0x11==17.

Signed-off-by: Michal Schmidt <xschmi00@stud.feec.vutbr.cz>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-05-05 17:10:39 -04:00
Dan Williams
3c30495675 [PATCH] wireless/airo: minimal WPA awareness
airo cards with firmware versions of 5.30.17 and higher support WPA.
This patch recognizes WPA-capable firmware versions and adds support for
retrieving the WPA and RSN information elements from the card's scan
results.  The JOB and FLAG fields are now independent, since there was
no space left in the FLAG field for FLAG_WPA_CAPABLE.

Signed-off-by: matthieu castet <castet.matthieu@free.fr>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-04-24 16:26:14 -04:00
Dan Williams
6fcdf565ff [PATCH] wireless/airo: clean up WEXT association and scan events
Airo firmware versions >= 5.30.17 send re-association events to the
driver that are currently unrecognized, causing spurious disassociation
events to be sent to user space.  Loss of sync due to scan requests also
results in disassociation events sent to user space.  This patch traps
those two events; suppressing sync-loss on scan, and sending the correct
association event on re-association notifications.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-04-19 17:25:37 -04:00
Dan Williams
9e75af30d5 [PATCH] wireless/airo: cache wireless scans
Observed problems when multiple processes request scans and subsequently
scan results.  This causes a scan result request to hit card registers
before the scan is complete, returning an incomplete scan list and
possibly making the card very angry.  Instead, cache the results of a
wireless scan and serve result requests from the cache, rather than
hitting the hardware for them.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-23 16:13:58 -05:00
Dan Williams
15db276320 [PATCH] wireless/airo: define default MTU
The number 2312 was used all over the place to refer to the card's
default MTU.  Make it a #define and use that everywhere rather than the
number.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-23 16:13:58 -05:00
Dan Williams
934d8bf142 [PATCH] wireless/airo: clean up printk usage to print device name
Show the specific device that driver messages are about.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-03-23 16:13:58 -05:00
Dan Williams
a23f460dd0 [PATCH] wireless/airo: Remove 'Setting transmit key' info messages
These messages end up polluting logs when things like NetworkManager or
wpa_supplicant are controlling the driver.  They aren't really that
useful, and no other drivers output messages like this when the user
fiddles with encryption keys.  Users can use iwconfig and other
wireless-tools methods to determine and change the current transmit key
if they wish to do so manually.  Therefore, remove the messages.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-02-27 20:14:58 -05:00
Dan Williams
22d8846e5c [PATCH] wireless/airo: fix setting TX key index plus key in ENCODEEXT
The previous patch that added ENCODEEXT and AUTH support to the airo
driver contained a slight error which would cause setting the TX
key index ignore a valid key-set request at the same time.  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:17:00 -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
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
Javier Achirica
2610c73302 airo: Off-by-one channel fix 2006-01-17 08:01:01 -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
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
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
Adrian Bunk
d38087609a [PATCH] airo.c/airo_cs.c: correct prototypes
This patch creates a file airo.h containing prototypes of the global
functions in airo.c used by airo_cs.c .

If you got strange problems with either airo_cs devices or in any other
completely unrelated part of the kernel shortly or long after a airo_cs
device was detected by the kernel, this might have been caused by the
fact that caller and callee disagreed regarding the size of the first
argument to init_airo_card()...

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-05 21:00:03 -05:00
Gabriel A. Devenyi
29b09fcc34 [PATCH] drivers/net/wireless/airo.c unsigned comparason
fid is declared as a u32 (unsigned int), and then a few lines later, it is checked for a value < 0, which is clearly useless.
In the two locations this function is used, in one it is *explicitly* given a negative number, which would be ignored with the
current definition.

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-05 14:40:26 -05:00
Herbert Xu
6df5b9f48d [CRYPTO] Simplify one-member scatterlist expressions
This patch rewrites various occurences of &sg[0] where sg is an array
of length one to simply sg.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2005-10-30 11:19:43 +11:00
David Hardeman
378f058cc4 [PATCH] Use sg_set_buf/sg_init_one where applicable
This patch uses sg_set_buf/sg_init_one in some places where it was
duplicated.

Signed-off-by: David Hardeman <david@2gen.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Greg KH <greg@kroah.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2005-10-30 11:19:43 +11:00
Jesper Juhl
b4558ea93d drivers/net: Remove pointless checks for NULL prior to calling kfree() 2005-10-28 16:53:13 -04:00
Michal Schmidt
5323280324 airo: fix resume
Cisco Aironet doesn't resume properly from swsusp, because the resume
method confuses a PM_EVENT_* for a PCI power state. It thinks that it is
resuming from PCI_D1 and doesn't do the necessary initialization of the
card.

Signed-off-by: Michal Schmidt <xschmi00@stud.feec.vutbr.cz>
2005-10-04 07:46:21 -04:00
Jeff Garzik
2759c8d536 [wireless airo] remove needed dma_addr_t obfuscation
Fixes bus address truncation bug for certain configs.
2005-09-24 04:09:04 -04:00
Jeff Garzik
e2e9650725 Remove WIRELESS_EXT ifdefs from several wireless drivers. 2005-09-24 04:05:52 -04:00
matthieu castet
1141455d5e [PATCH] airo : fix channel number in scan
this patch display the correct channel number with iwlist scan

Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-14 08:24:22 -04:00
Jeff Garzik
bbeec90b98 [wireless] build fixes after merging WE-19 2005-09-07 00:27:54 -04:00
Jean Tourrilhes
ce6623c3d8 [PATCH] airo : WE-19 support
Dan Williams already included most parts of my WE-19 patch for
the airo driver in the kernel. There was just a few bits he could not
do because WE-19 itself was not in the kernel. Those are the missing
bits.
        Tested with 2.6.13 (with real HW).

Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-06 22:45:14 -04:00
Linus Torvalds
48467641bc Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2005-09-05 00:11:50 -07:00
Pavel Machek
ca078bae81 [PATCH] swsusp: switch pm_message_t to struct
This adds type-checking to pm_message_t, so that people can't confuse it
with int or u32.  It also allows us to fix "disk yoyo" during suspend (disk
spinning down/up/down).

[We've tried that before; since that cpufreq problems were fixed and I've
tried make allyes config and fixed resulting damage.]

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-05 00:06:16 -07:00
Jesper Juhl
573dbd9596 [CRYPTO]: crypto_free_tfm() callers no longer need to check for NULL
Since the patch to add a NULL short-circuit to crypto_free_tfm() went in,
there's no longer any need for callers of that function to check for NULL.
This patch removes the redundant NULL checks and also a few similar checks
for NULL before calls to kfree() that I ran into while doing the
crypto_free_tfm bits.

I've succesfuly compile tested this patch, and a kernel with the patch 
applied boots and runs just fine.

When I posted the patch to LKML (and other lists/people on Cc) it drew the
following comments :

 J. Bruce Fields commented
  "I've no problem with the auth_gss or nfsv4 bits.--b."

 Sridhar Samudrala said
  "sctp change looks fine."

 Herbert Xu signed off on the patch.

So, I guess this is ready to be dropped into -mm and eventually mainline.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-01 17:44:29 -07:00
Herbert Xu
eb6f1160dd [CRYPTO]: Use CRYPTO_TFM_REQ_MAY_SLEEP where appropriate
This patch goes through the current users of the crypto layer and sets
CRYPTO_TFM_REQ_MAY_SLEEP at crypto_alloc_tfm() where all crypto operations
are performed in process context.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-01 17:43:25 -07:00
Jeff Garzik
de745fb279 /spare/repo/netdev-2.6 branch 'ieee80211' 2005-07-30 18:14:50 -04:00
Jesper Juhl
77933d7276 [PATCH] clean up inline static vs static inline
`gcc -W' likes to complain if the static keyword is not at the beginning of
the declaration.  This patch fixes all remaining occurrences of "inline
static" up with "static inline" in the entire kernel tree (140 occurrences in
47 files).

While making this change I came across a few lines with trailing whitespace
that I also fixed up, I have also added or removed a blank line or two here
and there, but there are no functional changes in the patch.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:20 -07:00
Jeff Garzik
08cd84c81f Merge /spare/repo/netdev-2.6 branch 'ieee80211' 2005-07-13 19:11:44 -04:00
David S. Miller
b03efcfb21 [NET]: Transform skb_queue_len() binary tests into skb_queue_empty()
This is part of the grand scheme to eliminate the qlen
member of skb_queue_head, and subsequently remove the
'list' member of sk_buff.

Most users of skb_queue_len() want to know if the queue is
empty or not, and that's trivially done with skb_queue_empty()
which doesn't use the skb_queue_head->qlen member and instead
uses the queue list emptyness as the test.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-07-08 14:57:23 -07:00
Jeff Garzik
aa8f6dfd35 Merge /spare/repo/netdev-2.6 branch 'ieee80211' 2005-06-27 22:50:10 -04:00
Domen Puncer
62595eb906 [PATCH] wireless: char* -> char[] conversion in airo.c
This conversion makes code from line 7101 right:
	if (copy_to_user(com.data, swversion, sizeof(swversion)))

size output (before, after):
  55416    2228     160   57804    e1cc drivers/net/wireless/airo.o
  55412    2228     160   57800    e1c8 drivers/net/wireless/airo.o

more outputs from Alexey Dobriyan:
2.95.3:
           text    data     bss     dec     hex filename
before    51118    2156     160   53434    d0ba drivers/net/wireless/airo.o
after     51118    2156     160   53434    d0ba drivers/net/wireless/airo.o

3.3.5-20050130:
before    46999    2156     160   49315    c0a3 drivers/net/wireless/airo.o
after     46994    2156     160   49310    c09e drivers/net/wireless/airo.o

4.1.0-20050522:
before    45555    2220     160   47935    bb3f drivers/net/wireless/airo.o
after     45550    2220     160   47930    bb3a drivers/net/wireless/airo.o

Signed-off-by: Domen Puncer <domen@coderock.org>
2005-06-26 23:47:57 -04:00
Jeff Garzik
f45727d52d Merge /spare/repo/netdev-2.6/ branch 'ieee80211' 2005-06-26 23:42:30 -04:00
Pavel Machek
1cc68ae0cf [PATCH] fix int vs. pm_message_t confusion in airo
Fix int vs. pm_message_t confusion in airo. Should change no code.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-06-26 18:37:26 -04:00
Christoph Lameter
3e1d1d28d9 [PATCH] Cleanup patch for process freezing
1. Establish a simple API for process freezing defined in linux/include/sched.h:

   frozen(process)		Check for frozen process
   freezing(process)		Check if a process is being frozen
   freeze(process)		Tell a process to freeze (go to refrigerator)
   thaw_process(process)	Restart process
   frozen_process(process)	Process is frozen now

2. Remove all references to PF_FREEZE and PF_FROZEN from all
   kernel sources except sched.h

3. Fix numerous locations where try_to_freeze is manually done by a driver

4. Remove the argument that is no longer necessary from two function calls.

5. Some whitespace cleanup

6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
   cleared before setting PF_FROZEN, recalc_sigpending does not check
   PF_FROZEN).

This patch does not address the problem of freeze_processes() violating the rule
that a task may only modify its own flags by setting PF_FREEZE. This is not clean
in an SMP environment. freeze(process) is therefore not SMP safe!

Signed-off-by: Christoph Lameter <christoph@lameter.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 17:10:13 -07:00
51a730d758 Automatic merge of /spare/repo/netdev-2.6 branch we18-ieee80211 2005-05-27 22:08:07 -04:00
Dan Williams
41480af27a [PATCH] wireless/airo: WEXT and quality corrections
This patch brings the airo driver into line with the current
WEXT specification of signal quality.  It also fixes the values
used to determine signal quality and level for MPI & PCMCIA 350
cards.  It turns out that BSSListRid.rssi was actually in dBm
for 350 series cards, and that we can use the normalized
signal strength reported by the card as our "quality" value, on
a scale of 0 - 100.  Since signal level values are in dBm for
this driver, max_qual->level MUST be 0, as specified in the WEXT
spec.  This patch also uses the IW_QUAL constants new in WEXT
version 17.

Signed-off-by: Dan Williams <dcbw@redhat.com>
2005-05-15 18:20:57 -04:00
Jouni Malinen
ff1d2767d5 Add HostAP wireless driver.
Includes minor cleanups from Adrian Bunk <bunk@stusta.de>.
2005-05-12 22:54:16 -04:00
Pavel Machek
05adc3b745 [PATCH] u32 vs. pm_message_t fixes for drivers/net
This fixes remaining u32s in drivers/ net.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:25:25 -07:00
Linus Torvalds
1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00