Commit Graph

44 Commits

Author SHA1 Message Date
Jesper Juhl
b4558ea93d drivers/net: Remove pointless checks for NULL prior to calling kfree() 2005-10-28 16:53:13 -04:00
Jouni Malinen
7cb3cd090c [PATCH] hostap: Unregister netdevs before freeing local data
Unregister all netdevs before freeing local data. I was unable to
trigger any crashes without this change when running busy loops for
driver operations when ejecting a Prism2 PC Card. Anyway, should there
be a race condition with this, better make it less likely to happen by
unregistering the netdevs first.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 22:00:09 -04:00
Jouni Malinen
c355184cd3 [PATCH] hostap: Do not free local->hw_priv before unregistering netdev
local->hw_priv was being freed and set to NULL just before calling
prism2_free_local_data(). However, this may expose a race condition in
which something ends up trying to use hw_priv during shutdown. I
haven't noticed this happening, but better be safe than sorry, so
let's postpone hw_priv freeing to happen only after
prism2_free_local_data() has returned.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 22:00:08 -04:00
Jouni Malinen
f7a7444755 [PATCH] hostap: Fix hostap_pci build with PRISM2_IO_DEBUG
The debug version of I/O functions in hostap_pci had not survived the
change to start using hw_priv pointer, so let's fix them to actually
define the local hw_priv variable.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 22:00:08 -04:00
Jouni Malinen
bab76198b3 [PATCH] hostap: Remove hw specific dev_open/close handlers
Host AP driver used hardware model specific dev_open/close handlers
that were called on dev_open/close if the hardware driver had
registered the handler. These were only used for hostap_cs and only
for tracking whether any of the netdevs were UP. This information is
already available from local->num_dev_open, so there is not need for
the special open/close handler.

Let's get rid of these handlers. In addition to cleaning up the code,
this fixes a module refcounting issue for hostap_cs where ejecting the
card while any of the netdevs were open did not decrement refcount
properly.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 22:00:08 -04:00
Jean Tourrilhes
596ff2e7c8 [PATCH] hostap: Remove iwe_stream_add_event kludge
Now that we are compiling with -fno-strict-aliasing (this is the
kernel default), we can drop the following kludge for
iwe_stream_add_event().

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-24 03:33:51 -04:00
Jean Tourrilhes
a9d12b9a4a [PATCH] hostap: Use GFP_ATOMIC to get rid of weird might_sleep issue
This is the trace I got :
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-24 03:33:51 -04:00
Jean Tourrilhes
c28df16ed7 [PATCH] hostap: Add support for WE-19
This patch adds support for WE-19 to the HostAP driver. One of
the major change is the use of an explicit flag to tell if iwstat is
in dBm or not.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-24 03:33:51 -04:00
Pavel Roskin
7a716536c6 [PATCH] hostap: Fix pci_driver name for hostap_plx and hostap_pci
hostap_pci and hostap_plx drivers still use PCI driver names
"prism2_pci" and "prism2_plx" respectively.  This is unfriendly to
linux-wlan-ng, which uses the same names.  So, if e.g. hostap_pci and
prism2_pci are loaded, they will "share" /sys/bus/pci/drivers/prism2_plx
directory.

Change PCI driver names of hostap_pci and hostap_plx to be equal to
their module names.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-24 03:33:51 -04:00
James Ketrenos
5bfc819b53 [PATCH] ieee80211: Updated hostap to be compatible with extra_prefix_len changes
tree 8c1676c8a15c08e6d4c718fc7cd42d9bf4cd8235
parent 0ccc3dd6469ed492578c184f47dde2baccde3593
author James Ketrenos <jketreno@linux.intel.com> 1126715240 -0500
committer James Ketrenos <jketreno@linux.intel.com> 1127316717 -0500

Updated hostap to be compatible with extra_prefix_len changes.

Accomplished via:

for i in hostap_ap.c hostap_80211_tx.c; do
        sed -i -e "s:\([.>]\)extra_prefix_len:\1extra_mpdu_prefix_len:g" \
                -e "s:\([.>]\)extra_postfix_len:\1extra_mpdu_postfix_len:g" \
                drivers/net/wireless/hostap/$i
done

CC: Jouni Malinen <jkmaline@cc.hut.fi>

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-21 23:07:15 -04:00
James Ketrenos
d041674d62 [PATCH] ieee80211: Updated hostap to be compatible with ieee80211_hdr changes
tree 8ec97d9056ceaf0f845ed51175dd842b700baadd
parent 329128457008ace3110c96971addf85a767dd5af
author James Ketrenos <jketreno@linux.intel.com> 1126714484 -0500
committer James Ketrenos <jketreno@linux.intel.com> 1127316636 -0500

Updated hostap to be compatible with ieee80211_hdr changes.

Change accomplished via:

for i in hostap_ap.{c,h} hostap_80211_{t,r}x.c; do
	sed -i -e "s:ieee80211_hdr\([^_]\):ieee80211_hdr_4addr\1:g" \
		drivers/net/wireless/hostap/$i
done

CC: Jouni Malinen <jkmaline@cc.hut.fi>

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-21 23:07:15 -04:00
Pavel Machek
583a4e88db [PATCH] fix pm_message_t stuff in -mm tree
This should bits from -mm tree that are affected by pm_message_t
conversion.  [I'm not 100% sure I got all of them, but I certainly got all
the errors on make allyesconfig build, and most of warnings, too.  I'll go
through the buildlog tommorow and fix any remaining bits].

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-05 00:06:16 -07:00
Jeff Garzik
504be3aa09 [wireless hostap] automatically select ieee80211 dependency in Kconfig 2005-09-02 04:44:25 -04:00
Jouni Malinen
fbff868db3 [PATCH] hostap: Fix null pointer dereference in prism2_pccard_card_present()
local->hw_priv was initialized only after the interrupt handler was
registered. This could trigger a NULL pointer dereference in
prism2_pccard_card_present() that assumed that local->hw_priv is always
set (and it should have been). Fix this by setting local->hw_priv before
registering the interrupt handler.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-31 22:48:39 -04:00
Kalle Valo
a8eef8a222 [PATCH] hostap: Fix null pointer dereference in prism2_pccard_card_present()
With my Buffalo WLI-CF-S11G PC Card kernel oopses every time in
prism2_interrupt() when I try load the hostap module. local->hw_priv is null
during the first call to prism2_interrupt(). It feels like
interrupts are enabled too early, or something.

This patch fixes the symptom, but not the cause.

Signed-off-by: Kalle Valo <Kalle.Valo@iki.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-28 19:25:02 -04:00
Jouni Malinen
6c5b90d2c8 [PATCH] hostap: Fix hash values for product strings
hostap_cs: 0.4.1-kernel (Jouni Malinen <jkmaline@cc.hut.fi>)
pcmcia: hostap_cs: invalid hash for product string "BUFFALO": is 0x1b01a57b,
should be 0x2decece3
pcmcia: see Documentation/pcmcia/devicetable.txt for details
pcmcia: hostap_cs: invalid hash for product string "WLI-CF-S11G": is
0xefd5102a, should be 0x82067c18
pcmcia: see Documentation/pcmcia/devicetable.txt for details

This patch fixes them.

Signed-off-by: Kalle Valo <Kalle.Valo@iki.fi>
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-28 19:25:02 -04:00
Jouni Malinen
c6e3f95df7 [PATCH] hostap: Update version
Version 0.4.4 of Host AP driver was released, so let's sync the version
number in netdev-2.6 tree.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-28 19:25:02 -04:00
Jeff Garzik
831a179fc9 hostap: s/IEEE80211_FCTL_WEP/IEEE80211_FCTL_PROTECTED/ to fix build 2005-08-25 20:59:10 -04:00
Andrew Morton
b2dabd5aad [PATCH] more-u32-vs-pm_message_t-fixes-6
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-19 03:00:01 -04:00
Jouni Malinen
b2f4a2e3b1 [PATCH] hostap: Replace WLAN_FC_ defines with ieee80211 ones
Replace remaining WLAN_FC_* defines with the ones used in ieee80211
header file. This completes the move from hostap version of frame
control field processing to ieee80211 version.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-15 00:29:20 -04:00
Jouni Malinen
e313087e42 [PATCH] hostap: Capability field is called ESS, not BSS
Remove backwards compatibility define for WLAN_CAPABILITY_ESS now that
net/ieee80211.h defines this.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-15 00:29:20 -04:00
Jouni Malinen
4339d32863 [PATCH] hostap: Use ieee80211 WLAN_FC_GET_{TYPE,STYPE}
Replace temporary HOSTAP_FC_GET_{TYPE,STYPE} macros with the ieee80211
version of WLAN_FC_GET_{TYPE,STYPE}.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-14 23:07:30 -04:00
Jouni Malinen
c0f72ca8e4 [PATCH] hostap: Replace hostap_ieee80211_hdr with ieee80211_hdr
Replace hostap-specific struct hostap_ieee80211_hdr with struct
ieee80211_hdr from net/ieee80211.h.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-14 23:07:30 -04:00
Jouni Malinen
3ec0f4857d [PATCH] hostap: Remove extra defines
Remove unused defines that are already available from generic kernel
header files.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-14 23:07:30 -04:00
Jouni Malinen
67e0e473fb [PATCH] hostap: Use void *hw_priv instead of #ifdef in local data
Replace hardware model specific #ifdef's in struct local_info with
void *hw_priv that is pointing to cs/pci/plx specific data
structure. This removes unneeded #ifdef's and as such, is a step
towards making it possible to share objects for hostap_hw.c and
hostap_download.c with cs/pci/plx drivers without having to compile
and link the same code separately for each one.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-14 23:06:27 -04:00
Jouni Malinen
ea3f1865f3 [PATCH] hostap: Remove experimental PCI bus master/DMA code
PCI version of Prism2.5/3 has undocumented DMA support for TX/RX data,
but this seems to have some hardware bugs that prevent it from being
used properly for TX. RX side could possibly be made to work reliably.

Even though DMA support would be very useful for saving host CPU (from
about 40% to 5-10% when operating at maximum throughput), it seems to
be best to just remove this code finally. The implementation has
always been commented out by default and has received very limited
testing. The code may have already been broken number of times and I
don't have much interested in trying to verify whether it works or
not. Getting this out makes it easier to maintain the driver and
allows some cleanups that have been partly postponed because of this
experimental bus master/DMA code.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-14 23:06:27 -04:00
Jouni Malinen
5bee720fd7 [PATCH] hostap: Fix skb->cb use for TX meta data
Old AP mode code for power saving was using skb->cb for couple of
flags before the more generic 802.11 TX code started using the same
buffer for struct hostap_skb_tx_data. This resulted in the power save
code corrupting the magic value in beginning of the buffer and TX code
dropping the power saved packets because of this for the case where
STAs send PS-Poll frames with PwrMgmt flag set.

This patch modifies the power save code to use the same struct
hostap_skb_tx_data as rest of the TX path in order to avoid corrupting
the data in skb->cb.

In addition, this patch reorders fields in the structure and makes
them use smaller types in order to make the structure fit in skb->cb
on 64-bit hosts.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-14 23:06:26 -04:00
Richard Purdie
1e4adbdb3f [PATCH] hostap update
Add the device ID of the Buffalo AirStation WLI-CF-S11G

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-11 00:14:47 -04:00
Jeff Garzik
74fae82c8b [wireless hostap] trim trailing whitespace 2005-07-31 13:08:32 -04:00
Jouni Malinen
62fe7e3781 [PATCH] hostap: Replace crypto code with net/ieee80211 version
Replace Host AP version of WEP, TKIP, CCMP implementation with
net/ieee80211 that has more or less identical implementation (since
it is based on the Host AP implementation). Remove Host AP specific
implementation and modules from drivers/net/wireless/hostap.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-31 00:28:02 -04:00
Jouni Malinen
ebed67d284 [PATCH] hostap: Start using net/ieee80211.h
Preparations for starting to use net/ieee80211 instead of private
IEEE 802.11 implementation. Include net/ieee80211.h and
net/ieee80211_crypt.h into files that will be needed these in the
future. Remove duplicate definitions from hostap_common.h and
rename WLAN_FC_GET_{TYPE,STYPE} macros for now sinc net/ieee80211.h
is using incompatible definitions. This will be resolved in the
future by updating Host AP to use the versions that do not shift
type/stype.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-31 00:28:02 -04:00
Jouni Malinen
f3b10e1636 [PATCH] hostap update
Fixed beacon frame when moving from monitor mode to master mode
(workaround for firmware bug that left IBSS IE in the Beacon
frames). This is using the same workaround that was previously used
when moving from adhoc mode to master mode.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:23 -04:00
Pavel Roskin
b15eff2632 [PATCH] hostap update
Warning fix for 64-bit platforms

Hello!

The patch fixes following warning seen on 64-bit platforms (in my case -
x86_64, gcc-4.0):

In file included from /usr/local/src/hostap/driver/modules/hostap_cs.c:203:
/usr/local/src/hostap/driver/modules/hostap_hw.c: In function ?prism2_transmit_cb?:
/usr/local/src/hostap/driver/modules/hostap_hw.c:1674: warning: cast from pointer to integer of different size
/usr/local/src/hostap/driver/modules/hostap_hw.c: In function ?prism2_transmit?:
/usr/local/src/hostap/driver/modules/hostap_hw.c:1758: warning: cast to pointer from integer of different size

prism2_transmit_cb uses a (void *) argument to get an integer.   A
simple fix would be to use double cast from pointer to long and then to
int (and vice versa when int is passed as a pointer).  But I prefer a
slightly longer patch.

I believe that whenever an argument can hold both a pointer and an
integer, it should be declared long.  long can hold both pointers and
integers (except win64, but we are not coding for Windows), it can be
cast to both of them and it's never assumed to be a valid pointer, which
could be useful for some automatic code checkers.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:23 -04:00
Brandon Enochs
3e1d393240 [PATCH] hostap update
line 129 of hostap_80211_rx.c should read:

       LWNG_SETVAL(mactime, 2, 0, 4, rx_stats->mac_time);

not:
       LWNG_SETVAL(mactime, 2, 0, 0, rx_stats->mac_time);

The length field is incorrect.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:23 -04:00
Jouni Malinen
0c629a69fd [PATCH] hostap update
Firmware seems to be getting into odd state in host_roaming mode 2
when hostscan is used without join command, so try to fix this by
re-joining the current AP. This does not actually trigger a new
association if the current AP is still in the scan results.

This makes background scans (iwlist wlan0 scan) not to break data
connection when in host_roaming 2 mode, e.g., when using wpa_supplicant.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:23 -04:00
Jouni Malinen
2e4fd068e7 [PATCH] hostap update
Cleaned up scan result processing by converting struct
hfa384x_scan_result into struct hfa384x_hostscan_result. This removes
special cases from result processing since the results are only used
in one, hostscan, format.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:23 -04:00
Jouni Malinen
72ca9c61cd [PATCH] hostap update
Added support for setting channel mask for scan requests
('iwpriv wlan0 scan_channels 0x00ff' masks scans to use channels 1-8).

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:22 -04:00
Jouni Malinen
f06ac319c0 [PATCH] hostap update
Add MODULE_VERSION information for the Host AP kernel modules and
update the version string to indicate which version of the external
Host AP driver is included in the kernel tree.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:22 -04:00
Henrik Brix Andersen
093853c395 [PATCH] hostap update
pcmcia id_table for hostap_cs.c

Hi Jouni,

Here's a patch for adding a pcmcia id_table to hostap_cs.c as introduced
by the PCMCIA subsystem changes in linux-2.6.13-rc1. The id_table allows
hotplug (along with pcmciautils [1]) to load the driver without the need
for the pcmcia-cs cardmgr daemon.

The id_table was generated from the CVS version of hostap_cs.conf using
a script borrowed from Dominik Brodowski. I have removed any duplicate
entries, but I have only been able to test the functionality of the
patch with a Linksys WPC11v3.

Sincerely,
Brix

[1]: http://www.kernel.org/pub/linux/utils/kernel/pcmcia/

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:22 -04:00
Dave Hansen
0cd545d6ba [PATCH] hostap update
Create sysfs "device" files for hostap

I was writing some scripts to automatically build kismet source lines,
and I noticed that hostap devices don't have device files, unlike my
prism54 and ipw2200 cards:

$ ls -l /sys/class/net/eth0/device
/sys/class/net/eth0/device -> ../../../devices/pci0000:00/0000:00:1e.0/0000:02:01.0
$ ls -l /sys/class/net/wifi0
ls: /sys/class/net/wifi0/device: No such file or directory
$ ls -l /sys/class/net/wlan0
ls: /sys/class/net/wlan0/device: No such file or directory

The following (quite small) patch makes sure that both the wlan and wifi
net devices have that pointer to the bus device.

This way, I can do things like

        for i in /sys/class/net/*; do
                if ! [ -e $i/device/drive ]; then
                        continue;
                fi;
                driver=$(basename $(readlink $i/device/driver))
                case $driver in
                        hostap*)
                                echo -- hostap,$i,$i-$driver
                                break;
                        ipw2?00)
                                echo -- $driver,$i,$i-$driver
                                break;
                        prism54)
                                echo prism54g,$i
                esac
        done

Which should generate a working set of source lines for kismet no matter
what order I plug the cards in.

It might also be handy to have a link between the two net devices, but
that's a patch for another day.

That patch is against 2.6.13-rc1-mm1.

-- Dave

Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:22 -04:00
Jar
0ef79ee22c [PATCH] hostap update
hostap_cs: Remove irq_list, irq_mask and pcmcia/version.h

Remove irq_list, irq_mask and pcmcia/version.h as suggested in
http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:22 -04:00
Adrian Bunk
1fad810473 [PATCH] hostap update
EXPORT_SYMTAB does nothing. There's no need to define something if it
doesn't have any effect.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:22 -04:00
Jouni Malinen
47e362cf69 [PATCH] hostap update
Update hostap_cs to use new PCMCIA event callback registration.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-30 18:17:22 -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