platform/kernel/linux-3.10.git
16 years agomac80211: fixing ieee80211_bar types
Ron Rindjunsky [Mon, 21 Jan 2008 10:39:11 +0000 (12:39 +0200)]
mac80211: fixing ieee80211_bar types

This patch changes ieee80211_bar control and start_seq_num to
match the proper bitwise attribute expected from ieee 802.11 frame

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add more N-PHY init code
Michael Buesch [Fri, 18 Jan 2008 00:09:25 +0000 (01:09 +0100)]
b43: Add more N-PHY init code

This also adds lots of TODOs. Oh well. Lots of work. :)

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agorc80211-pid: fix last_sample initialization
Stefano Brivio [Wed, 16 Jan 2008 23:38:29 +0000 (00:38 +0100)]
rc80211-pid: fix last_sample initialization

Fix last_sample initialization. kzalloc'ing the per-STA data wasn't enough,
as jiffies can assume negative values as well. This fixes a bug which
prevented correct PID operation for a while after booting.

Thanks to Michael Buesch for reporting this.

Reported-and-tested-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix RCU locking in __ieee80211_rx_handle_packet
Johannes Berg [Wed, 16 Jan 2008 20:47:40 +0000 (21:47 +0100)]
mac80211: fix RCU locking in __ieee80211_rx_handle_packet

Commit c7a51bda ("mac80211: restructure __ieee80211_rx") extracted
__ieee80211_rx_handle_packet out of __ieee80211_rx and hence changed
the locking rules for __ieee80211_rx_handle_packet(), it is now
invoked under RCU lock. There is, however, one instance left where
it contains an rcu_read_unlock() in an error path, which is a bug.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: Remove the PHY spinlock
Michael Buesch [Wed, 9 Jan 2008 19:15:31 +0000 (20:15 +0100)]
b43legacy: Remove the PHY spinlock

This fixes a sparse warning about weird locking.
The spinlock is not needed, so simply remove it.
This also adds some sanity checks to the PHY and radio locking
to protect against recursive locking.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Assign correct TID for local bridged packets
Guy Cohen [Wed, 9 Jan 2008 17:12:48 +0000 (19:12 +0200)]
mac80211: Assign correct TID for local bridged packets

This patch assigns correct TID to frames transmitted between
two stations in the same BSS in AP mode.
The problem is that skb->protocol is not set to ETH_P_IP and it is wrong
to use that field at this stage.
The fix compares the LLC/Protocol headers explicitly to check if the
encapsulated frame is IP frame

Signed-off-by: Guy Cohen <guy.cohen@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years ago[DST]: shrinks sizeof(struct rtable) by 64 bytes on x86_64
Eric Dumazet [Tue, 22 Jan 2008 14:18:34 +0000 (06:18 -0800)]
[DST]: shrinks sizeof(struct rtable) by 64 bytes on x86_64

On x86_64, sizeof(struct rtable) is 0x148, which is rounded up to
0x180 bytes by SLAB allocator.

We can reduce this to exactly 0x140 bytes, without alignment overhead,
and store 12 struct rtable per PAGE instead of 10.

rate_tokens is currently defined as an "unsigned long", while its
content should not exceed 6*HZ. It can safely be converted to an
unsigned int.

Moving tclassid right after rate_tokens to fill the 4 bytes hole
permits to save 8 bytes on 'struct dst_entry', which finally permits
to save 8 bytes on 'struct rtable'

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Make the pernet subsystem for fragments.
Pavel Emelyanov [Tue, 22 Jan 2008 14:12:39 +0000 (06:12 -0800)]
[NETNS][FRAGS]: Make the pernet subsystem for fragments.

On namespace start we mainly prepare the ctl variables.

When the namespace is stopped we have to kill all the fragments that
point to this namespace.  The inet_frags_exit_net() handles it.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Make the LRU list per namespace.
Pavel Emelyanov [Tue, 22 Jan 2008 14:11:48 +0000 (06:11 -0800)]
[NETNS][FRAGS]: Make the LRU list per namespace.

The inet_frags.lru_list is used for evicting only, so we have
to make it per-namespace, to evict only those fragments, who's
namespace exceeded its high threshold, but not the whole hash.
Besides, this helps to avoid long loops  in evictor.

The spinlock is not per-namespace because it protects the
hash table as well, which is global.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Isolate the secret interval from namespaces.
Pavel Emelyanov [Tue, 22 Jan 2008 14:11:04 +0000 (06:11 -0800)]
[NETNS][FRAGS]: Isolate the secret interval from namespaces.

Since we have one hashtable to lookup the fragment, having
different secret_interval-s for hash rebuild doesn't make
sense, so move this one to inet_frags.

The inet_frags_ctl becomes empty after this, so remove it.
The appropriate ctl table is kept read-only in namespaces.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Make thresholds work in namespaces.
Pavel Emelyanov [Tue, 22 Jan 2008 14:10:13 +0000 (06:10 -0800)]
[NETNS][FRAGS]: Make thresholds work in namespaces.

This is the same as with the timeout variable.

Currently, after exceeding the high threshold _all_
the fragments are evicted, but it will be fixed in
later patch.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Make the net.ipv4.ipfrag_timeout work in namespaces.
Pavel Emelyanov [Tue, 22 Jan 2008 14:09:37 +0000 (06:09 -0800)]
[NETNS][FRAGS]: Make the net.ipv4.ipfrag_timeout work in namespaces.

Move it to the netns_frags, adjust the usage and
make the appropriate ctl table writable.

Now fragment, that live in different namespaces can
live for different times.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Duplicate sysctl tables for new namespaces.
Pavel Emelyanov [Tue, 22 Jan 2008 14:08:36 +0000 (06:08 -0800)]
[NETNS][FRAGS]: Duplicate sysctl tables for new namespaces.

Each namespace has to have own tables to tune their
different parameters, so duplicate the tables and
register them.

All the tables in sub-namespaces are temporarily made
read-only.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Make the mem counter per-namespace.
Pavel Emelyanov [Tue, 22 Jan 2008 14:07:25 +0000 (06:07 -0800)]
[NETNS][FRAGS]: Make the mem counter per-namespace.

This is also simple, but introduces more changes, since
then mem counter is altered in more places.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Make the nqueues counter per-namespace.
Pavel Emelyanov [Tue, 22 Jan 2008 14:06:23 +0000 (06:06 -0800)]
[NETNS][FRAGS]: Make the nqueues counter per-namespace.

This is simple - just move the variable from struct inet_frags
to struct netns_frags and adjust the usage appropriately.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Make the inet_frag_queue lookup work in namespaces.
Pavel Emelyanov [Tue, 22 Jan 2008 14:02:14 +0000 (06:02 -0800)]
[NETNS][FRAGS]: Make the inet_frag_queue lookup work in namespaces.

Since fragment management code is consolidated, we cannot have the
pointer from inet_frag_queue to struct net, since we must know what
king of fragment this is.

So, I introduce the netns_frags structure. This one is currently
empty, but will be eventually filled with per-namespace
attributes. Each inet_frag_queue is tagged with this one.

The conntrack_reasm is not "netns-izated", so it has one static
netns_frags instance to keep working in init namespace.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS][FRAGS]: Move ctl tables around.
Pavel Emelyanov [Tue, 22 Jan 2008 13:58:31 +0000 (05:58 -0800)]
[NETNS][FRAGS]: Move ctl tables around.

This is a preparation for sysctl netns-ization.
Move the ctl tables to the files, where the tuning
variables reside. Plus make the helpers to register
the tables.

This will simplify the later patches and will keep
similar things closer to each other.

ipv4, ipv6 and conntrack_reasm are patched differently,
but the result is all the tables are in appropriate files.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoigb: PCI-Express 82575 Gigabit Ethernet driver
Auke Kok [Thu, 24 Jan 2008 10:22:38 +0000 (02:22 -0800)]
igb: PCI-Express 82575 Gigabit Ethernet driver

We are pleased to announce a new Gigabit Ethernet product and its
driver to the linux community. This product is the Intel(R) 82575
Gigabit Ethernet adapter family. Physical adapters will be available
to the public soon. These adapters come in 2- and 4-port versions
(copper PHY) currently. Other variants will be available later.

The 82575 chipset supports significantly different features that
warrant a new driver. The descriptor format is (just like the
ixgbe driver) different. The device can use multiple MSI-X vectors
and multiple queues for both send and receive. This allows us to
optimize some of the driver code specifically as well compared to
the e1000-supported devices.

This version of the igb driver no lnger uses fake netdevices and
incorporates napi_struct members for each ring to do the multi-
queue polling. multi-queue is enabled by default and the driver
supports NAPI mode only.

All the namespace collisions should be gone in this version too. The
register macro's have been condensed to improve readability.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agobnx2 annotations
Al Viro [Sat, 22 Dec 2007 19:44:51 +0000 (19:44 +0000)]
bnx2 annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoannotate netxen
Al Viro [Sat, 22 Dec 2007 19:44:00 +0000 (19:44 +0000)]
annotate netxen

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoannotate myri10ge
Al Viro [Sat, 22 Dec 2007 18:56:43 +0000 (18:56 +0000)]
annotate myri10ge

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoannotate cxgb3
Al Viro [Sat, 22 Dec 2007 18:56:23 +0000 (18:56 +0000)]
annotate cxgb3

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoannotate chelsio
Al Viro [Sat, 22 Dec 2007 18:56:33 +0000 (18:56 +0000)]
annotate chelsio

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago[IPV6] NDISC: Sparse: Use different variable name for local use.
YOSHIFUJI Hideaki [Tue, 22 Jan 2008 08:32:53 +0000 (17:32 +0900)]
[IPV6] NDISC: Sparse: Use different variable name for local use.

Fix the following sparse warnings:
| net/ipv6/ndisc.c:1300:21: warning: symbol 'opt' shadows an earlier one
| net/ipv6/ndisc.c:1078:7: originally declared here

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] ADDRCONF: Sparse: Make inet6_dump_addr() code paths more straight-forward.
YOSHIFUJI Hideaki [Tue, 22 Jan 2008 08:29:40 +0000 (17:29 +0900)]
[IPV6] ADDRCONF: Sparse: Make inet6_dump_addr() code paths more straight-forward.

Fix the following sparse warning:
| net/ipv6/addrconf.c:3384:2: warning: context imbalance in 'inet6_dump_addr' - different lock contexts for basic block

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6]: Sparse: Declare non-static ipv6_{route,icmp,frag}_sysctl_init() in header.
YOSHIFUJI Hideaki [Tue, 22 Jan 2008 08:18:38 +0000 (17:18 +0900)]
[IPV6]: Sparse: Declare non-static ipv6_{route,icmp,frag}_sysctl_init() in header.

Fix the following sparse warnings:
| net/ipv6/route.c:2491:18: warning: symbol 'ipv6_route_sysctl_init' was not declared. Should it be static?
| net/ipv6/icmp.c:922:18: warning: symbol 'ipv6_icmp_sysctl_init' was not declared. Should it be static?
| net/ipv6/reassembly.c:628:6: warning: symbol 'ipv6_frag_sysctl_init' was not declared. Should it be static?

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] ADDRLABEL: Sparse: Make several functions static.
YOSHIFUJI Hideaki [Tue, 22 Jan 2008 08:12:50 +0000 (17:12 +0900)]
[IPV6] ADDRLABEL: Sparse: Make several functions static.

Fix following sparse warnings:
| net/ipv6/addrlabel.c:172:25: warning: symbol 'ip6addrlbl_alloc' was not declared. Should it be static?
| net/ipv6/addrlabel.c:219:5: warning: symbol '__ip6addrlbl_add' was not declared. Should it be static?
| net/ipv6/addrlabel.c:260:5: warning: symbol 'ip6addrlbl_add' was not declared. Should it be static?
| net/ipv6/addrlabel.c:285:5: warning: symbol '__ip6addrlbl_del' was not declared. Should it be static?
| net/ipv6/addrlabel.c:311:5: warning: symbol 'ip6addrlbl_del' was not declared. Should it be static?

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] UDPLITE: Sparse: Declare non-static symbols in header.
YOSHIFUJI Hideaki [Tue, 22 Jan 2008 08:25:46 +0000 (17:25 +0900)]
[IPV6] UDPLITE: Sparse: Declare non-static symbols in header.

Fix the following sparse warnings:
| net/ipv6/udplite.c:45:14: warning: symbol 'udplitev6_prot' was not declared. Should it be static?
| net/ipv6/udplite.c:80:12: warning: symbol 'udplitev6_init' was not declared. Should it be static?
| net/ipv6/udplite.c:99:6: warning: symbol 'udplitev6_exit' was not declared. Should it be static?

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV6] UDP,UDPLITE: Sparse: {__udp6_lib,udp,udplite}_err() are of void.
YOSHIFUJI Hideaki [Tue, 22 Jan 2008 08:09:55 +0000 (17:09 +0900)]
[IPV6] UDP,UDPLITE: Sparse: {__udp6_lib,udp,udplite}_err() are of void.

Fix following sparse warnings:
| net/ipv6/udp.c:262:2: warning: returning void-valued expression
| net/ipv6/udplite.c:29:2: warning: returning void-valued expression

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[IPV4] UDP,UDPLITE: Sparse: {__udp4_lib,udp,udplite}_err() are of void.
YOSHIFUJI Hideaki [Tue, 22 Jan 2008 08:05:31 +0000 (17:05 +0900)]
[IPV4] UDP,UDPLITE: Sparse: {__udp4_lib,udp,udplite}_err() are of void.

Fix following sparse warnings:
| net/ipv4/udp.c:421:2: warning: returning void-valued expression
| net/ipv4/udplite.c:38:2: warning: returning void-valued expression

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
16 years ago[BNX2]: Fix driver phy_flags name space.
Michael Chan [Tue, 22 Jan 2008 03:51:35 +0000 (19:51 -0800)]
[BNX2]: Fix driver phy_flags name space.

Prefix "bp->phy_flags" names with BNX2_PHY_FLAG_* for consistency.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Pass correct namespace in ip_rt_get_source.
Denis V. Lunev [Tue, 22 Jan 2008 01:35:06 +0000 (17:35 -0800)]
[NETNS]: Pass correct namespace in ip_rt_get_source.

ip_rt_get_source is the infamous place for which dst_ifdown kludges
have been implemented. This means that rt->u.dst.dev can be safely
dereferrenced obtain nd_net.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Pass correct namespace in ip_route_input_slow.
Denis V. Lunev [Tue, 22 Jan 2008 01:34:35 +0000 (17:34 -0800)]
[NETNS]: Pass correct namespace in ip_route_input_slow.

The packet on the input path always has a referrence to an input
network device it is passed from. Extract network namespace from it.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Pass correct namespace in context fib_check_nh.
Denis V. Lunev [Tue, 22 Jan 2008 01:34:00 +0000 (17:34 -0800)]
[NETNS]: Pass correct namespace in context fib_check_nh.

Correct network namespace is already used in fib_check_nh. Re-work its
usage for better readability and pass into fib_lookup &
inetdev_by_index.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Pass correct namespace in fib_validate_source.
Denis V. Lunev [Tue, 22 Jan 2008 01:33:15 +0000 (17:33 -0800)]
[NETNS]: Pass correct namespace in fib_validate_source.

Correct network namespace is available inside fib_validate_source. It
can be obtained from the device passed in. The device is not NULL as
in_device is obtained from it just above.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Add netns parameter to inetdev_by_index.
Denis V. Lunev [Tue, 22 Jan 2008 01:32:38 +0000 (17:32 -0800)]
[NETNS]: Add netns parameter to inetdev_by_index.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Add netns parameter to fib_lookup.
Denis V. Lunev [Tue, 22 Jan 2008 01:31:55 +0000 (17:31 -0800)]
[NETNS]: Add netns parameter to fib_lookup.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV4]: ipmr sparse warnings
Stephen Hemminger [Tue, 22 Jan 2008 01:28:59 +0000 (17:28 -0800)]
[IPV4]: ipmr sparse warnings

Get rid of some of the sparse warnings.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[IPV4]: igmp sparse warnings
Stephen Hemminger [Tue, 22 Jan 2008 01:28:31 +0000 (17:28 -0800)]
[IPV4]: igmp sparse warnings

Partial sparse warning fix.  The other conditional locking
is too much for sparse to handle.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[VLAN]: sparse warning fix
Stephen Hemminger [Tue, 22 Jan 2008 01:27:44 +0000 (17:27 -0800)]
[VLAN]: sparse warning fix

Minor sparse warning fix.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[BNX2]: Fix driver software flag namespace.
David S. Miller [Tue, 22 Jan 2008 01:15:40 +0000 (17:15 -0800)]
[BNX2]: Fix driver software flag namespace.

Prefix "bnx2->flags" names with BNX2_* for consistency.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[BNX2] Update version to 1.7.2.
Michael Chan [Tue, 22 Jan 2008 01:07:29 +0000 (17:07 -0800)]
[BNX2] Update version to 1.7.2.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[BNX2]: Add link-down workaround on 5706 serdes.
Michael Chan [Tue, 22 Jan 2008 01:07:06 +0000 (17:07 -0800)]
[BNX2]: Add link-down workaround on 5706 serdes.

In some blade systems using the 5706 serdes, the hardware sometimes
does not properly generate link down interrupts.  We add a workaround
in the driver's timer to force a link-down when some PHY registers
report loss of SYNC.

The parallel detect logic is cleaned up slightly to better integrate
the workaround.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[BNX2]: Fix minor bug in bnx2_has_work().
Michael Chan [Tue, 22 Jan 2008 01:06:41 +0000 (17:06 -0800)]
[BNX2]: Fix minor bug in bnx2_has_work().

It is more correct to get the status block from the bnx2_napi struct
instead of the bnx2 struct.  It happens that they are the same in this
case because we are using the first MSIX vector.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[BNX2]: Disable jumbo rx paging on 5709 Ax.
Michael Chan [Tue, 22 Jan 2008 01:06:09 +0000 (17:06 -0800)]
[BNX2]: Disable jumbo rx paging on 5709 Ax.

The chip has problem running in this mode and needs to be disabled.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agob43/nphy.c: include headers to avoid build breakage on some platforms
John W. Linville [Thu, 17 Jan 2008 21:57:10 +0000 (16:57 -0500)]
b43/nphy.c: include headers to avoid build breakage on some platforms

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agodrivers/net/wireless/rt2x00/rt2x00usb.c: fix uninitialized var warning
Andrew Morton [Wed, 16 Jan 2008 10:58:24 +0000 (02:58 -0800)]
drivers/net/wireless/rt2x00/rt2x00usb.c: fix uninitialized var warning

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agodrivers/net/wireless/iwlwifi/iwl-3945.c: fix printk warning
Andrew Morton [Wed, 16 Jan 2008 10:56:33 +0000 (02:56 -0800)]
drivers/net/wireless/iwlwifi/iwl-3945.c: fix printk warning

drivers/net/wireless/iwlwifi/iwl-3945.c: In function 'iwl3945_add_radiotap':
drivers/net/wireless/iwlwifi/iwl-3945.c:269: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int'

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: fix use-after-free rfkill bug
Stefano Brivio [Sun, 13 Jan 2008 17:35:52 +0000 (18:35 +0100)]
b43legacy: fix use-after-free rfkill bug

Fix rfkill code which caused a use-after-free bug. Thanks to David
Woodhouse for spotting this out.

Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: A-MPDU Rx remove stop_rx_ba_session warning print
Ron Rindjunsky [Sun, 13 Jan 2008 16:25:43 +0000 (18:25 +0200)]
mac80211: A-MPDU Rx remove stop_rx_ba_session warning print

This patch removes a warning print from ieee80211_sta_stop_rx_ba_session
in case the tid is inactive when interface goes down.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: A-MPDU Rx stop aggregation on proper dev
Ron Rindjunsky [Sun, 13 Jan 2008 16:21:58 +0000 (18:21 +0200)]
mac80211: A-MPDU Rx stop aggregation on proper dev

This patch adds a check to insure that Rx A-MPDU will be stopped only
for the proper device.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Initialize vif pointer
Ivo van Doorn [Sun, 13 Jan 2008 13:16:47 +0000 (14:16 +0100)]
mac80211: Initialize vif pointer

Before calling update_beacon() mac80211 must
initialize the control.vif pointer so it can
be used by the driver to determine which
interface is trying to send the beacon.

v2: ieee80211_beacon_get() should also initialize the
vif pointer since it can be called by mac80211 internally
before calling config_interface().

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: pepper main with debug statement
Holger Schurig [Wed, 16 Jan 2008 14:59:52 +0000 (15:59 +0100)]
libertas: pepper main with debug statement

libertas: re-pepper debug statementThe recent fluff of updates
didn't put proper lbs_deb_enter/leave calls into the source code.
Add them where appropriate.

Also contains some whitespace changes.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: don't blindly try mesh
Holger Schurig [Wed, 16 Jan 2008 14:57:44 +0000 (15:57 +0100)]
libertas: don't blindly try mesh

The CF card only has a very old firmware (5.0.16p0). This firmware doesn't
know anything about mesh config. However, current code blindly calls
mesh_config when the card is inserted. So check the firmware version before
issuing this command.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: always show firmware release
Holger Schurig [Wed, 16 Jan 2008 14:55:22 +0000 (15:55 +0100)]
libertas: always show firmware release

Always shows the firmware release.

Also converts the firmware release into something that is easily comparable.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: move cardspecific data to driver
Holger Schurig [Wed, 16 Jan 2008 14:52:58 +0000 (15:52 +0100)]
libertas: move cardspecific data to driver

boot2_version is purely USB specific, so move it to struct if_usb_card.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas cs/sdio: fix 'NOHZ: local_softirq_pending 08' message
Holger Schurig [Wed, 16 Jan 2008 14:48:44 +0000 (15:48 +0100)]
libertas cs/sdio: fix 'NOHZ: local_softirq_pending 08' message

netif_rx should be called only from interrupt context. if_cs and if_sdio receive
packets from other contexts, and thus should call netif_rx_ni.

Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>
Acked-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add lots of N-PHY lookup tables
Michael Buesch [Wed, 16 Jan 2008 01:14:23 +0000 (02:14 +0100)]
b43: Add lots of N-PHY lookup tables

This adds lots of N-PHY related lookup tables.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: style fixes to usage of << and >> operators
Reinette Chatre [Tue, 15 Jan 2008 01:46:25 +0000 (17:46 -0800)]
iwlwifi: style fixes to usage of << and >> operators

The << and >> operators need space on each side.

Cc: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove reference to non-existent documentation
Reinette Chatre [Tue, 15 Jan 2008 01:46:24 +0000 (17:46 -0800)]
iwlwifi: remove reference to non-existent documentation

The external iwlwifi driver comes with a README file that is
referenced by the Kconfig. This README is not present in the
driver included in the kernel. Remove references to this
documentation.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Update iwlwifi version stamp to 1.2.23
Zhu Yi [Tue, 15 Jan 2008 01:46:23 +0000 (17:46 -0800)]
iwlwifi: Update iwlwifi version stamp to 1.2.23

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: 3954 renames iwl3945_rate_scale_priv to iwl3945_rs_sta
Tomas Winkler [Mon, 28 Jan 2008 04:41:38 +0000 (20:41 -0800)]
iwlwifi: 3954 renames iwl3945_rate_scale_priv to iwl3945_rs_sta

This patch renames iwl3945_rate_scale_priv to iwl3945_rs_sta as it
better represents the purpose of this variable.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiwlwifi: 4965 unify rate scale variable names for station data
Tomas Winkler [Tue, 15 Jan 2008 01:46:21 +0000 (17:46 -0800)]
iwlwifi: 4965 unify rate scale variable names for station data

1, This patch renames iwl4965_rate_scale_priv to iwl4965_lq_sta.
   This type represents a station's link quality.
2. The names of the variables of this type were rs_priv, lq_data, lq, crl
   across the file. All are now unified under the name lq_sta.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move uCode helper functions to iwl-helpers.h
Tomas Winkler [Tue, 15 Jan 2008 01:46:20 +0000 (17:46 -0800)]
iwlwifi: move uCode helper functions to iwl-helpers.h

This patch adds iwl_free_fw_desc ucode helper function.
It also moves ucode helper functions to iwl-helpers.h.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix problem when rf_killswitch change during suspend/resume
Zhu Yi [Thu, 24 Jan 2008 10:19:38 +0000 (02:19 -0800)]
iwlwifi: fix problem when rf_killswitch change during suspend/resume

After we delay device initialization until interface up, there are more
conditions for the hardware rf_kill switch states during suspend and
resume. For example, before suspend we can have interface up or down,
rf_kill enable or disable; before resume we can have rf_kill enable or
disable. So there are totally 2^3 = 8 conditions to handle. This patch
addressed this problem and makes sure every condition works correctly.

This patch also merges the device suspend and resume handlers with the
mac_start and mac_stop code since they are basically doing the same
thing.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiwlwifi: delay firmware loading from pci_probe to network interface open
Zhu Yi [Tue, 15 Jan 2008 01:46:18 +0000 (17:46 -0800)]
iwlwifi: delay firmware loading from pci_probe to network interface open

This patch moves the firmware loading (read firmware from disk and load
it into the device SRAM) from pci_probe time to the first network
interface open time. There are two reasons for doing this:

1. To support kernel buildin iwlwifi drivers. Because kernel initializes
   network devices subsystem before hard disk and SATA subsystem, it is
   impossible to get the firmware image from hard disk in the PCI probe
   handler. Thus delaying the firmware loading into the network
   interface open time is the way to go. Note, we only read the firmware
   image from hard disk the first time the interface is open. After this
   is succeeded, we cache the firmware image into the host memory. This
   is a performance gain when user open and close the interface multiple
   times and is necessary for device suspend and resume.

2. For better power saving. When the iwlwifi modules are loaded (or
   buildin the kernel) but the wireless network interface is not being
   used, it is a good practice the wireless device consumes as less
   power as possible. Unloading the firmware from the wireless device
   and unregister the driver's interrupt handler in the network
   interface close handler provides users a way to achieve this. User
   space network configuration tools (i.e NetworkManager) can also
   contribute here when it detects a wired cable is connected and
   close the wireless interface automatically.

This patch also includes the pci_save/restore_state() fixed by Ian Schram
upon the first version.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Ian Schram <ischram@telenet.be>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: document scan command
Ben Cahill [Tue, 15 Jan 2008 01:46:17 +0000 (17:46 -0800)]
iwlwifi: document scan command

Document scan command.

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove iwl4965_tx_cmd
Tomas Winkler [Tue, 15 Jan 2008 01:46:16 +0000 (17:46 -0800)]
iwlwifi: remove iwl4965_tx_cmd

This patch removes iwl4965_tx_cmd function and splits its content to
iwl4965_hw_build_tx_cmd_rate, iwl4965_build_tx_cmd_basic,
and iwl4965_tl_get_stats function. The latest one will be deprecated
when traffic load will move to rate scale module.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move iwl4965_get_dma_hi_address function to iwl-helpers.h
Tomas Winkler [Tue, 15 Jan 2008 01:46:15 +0000 (17:46 -0800)]
iwlwifi: move iwl4965_get_dma_hi_address function to iwl-helpers.h

This patch moves iwl4965_get_dma_hi_address function to iwl-headers.h
as iwl_get_dma_hi_address. This function will be used in more chipsets
than only 4965.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl4965: Remove redundant code in iwl4965_tx_cmd
Tomas Winkler [Tue, 15 Jan 2008 01:46:14 +0000 (17:46 -0800)]
iwl4965: Remove redundant code in iwl4965_tx_cmd

This function removes redundant code in iwl4965_tx_cmd
function, leftovers of previous design.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add NPHY channel switch code
Michael Buesch [Sun, 13 Jan 2008 23:05:57 +0000 (00:05 +0100)]
b43: Add NPHY channel switch code

This adds code and table data for channel switching on NPHYs.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add NPHY radio init code
Michael Buesch [Sun, 13 Jan 2008 20:23:44 +0000 (21:23 +0100)]
b43: Add NPHY radio init code

This adds some code to init the 2055 radio.
This patch adds two files "tables_nphy.h" and "tables_nphy.c"

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Add boardflags_hi field to the sprom data structure
Michael Buesch [Sun, 13 Jan 2008 20:08:24 +0000 (21:08 +0100)]
ssb: Add boardflags_hi field to the sprom data structure

Add boardflags-high.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add Broadcom 2055 radio register definitions
Michael Buesch [Sun, 13 Jan 2008 15:41:23 +0000 (16:41 +0100)]
b43: Add Broadcom 2055 radio register definitions

Add the register definitions for the Broadcom 2055 N-radio.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoWAVELAN - compile-time check for struct sizes
Helge Deller [Sun, 13 Jan 2008 14:16:34 +0000 (15:16 +0100)]
WAVELAN - compile-time check for struct sizes

Convert optional struct size checks to non-optional compile-time checks.
Furthermore BUILD_BUG_ON() which will be optimized away by the compiler.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add support for new firmware
Michael Buesch [Mon, 28 Jan 2008 22:47:41 +0000 (14:47 -0800)]
b43: Add support for new firmware

This patch adds support for new firmware.
Old firmware is still supported until July 2008.

To get new firmware, go to
ftp://ftp.linksys.com/opensourcecode/wrt150nv11/1.51.3/
and download the tarball. We don't have a smaller tarball, yet.
That will be fixed later.
You can extract firmware out of the "wl_ap.o" file contained
in this tarball using latest fwcutter. You must pass the option
--unsupported to fwcutter.
Fwcutter-010 with official support for a new firmware image will
be released soon.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agob43: Fix radio ID register reading
Michael Buesch [Sun, 13 Jan 2008 13:12:44 +0000 (14:12 +0100)]
b43: Fix radio ID register reading

This fixes reading of the high 16 bits of the radio ID
on new devices. 2055 radios want lo16 to be read first.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Fix queue_idx initialization
Ivo van Doorn [Thu, 10 Jan 2008 21:40:13 +0000 (22:40 +0100)]
rt2x00: Fix queue_idx initialization

For TX rings the queue_idx should start at
IEEE80211_TX_QUEUE_DATA0 and for each followup
ring this index needs to be increased.

For the RX ring the queue_idx should be set
to 0. We don't need to initialize the tx_params.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Data and desc pointer initialization
Ivo van Doorn [Thu, 10 Jan 2008 21:02:44 +0000 (22:02 +0100)]
rt2x00: Data and desc pointer initialization

rt2500usb and rt73usb data and desc pointer initialization
was incorrect because it was using uninitialized variables
to determine the length.

In addition rt2500usb used skb_pull and removed the ieee80211
from each received frame instead of using skb_trim to remove
the device descriptor from the frame.

Finally this also fixes the descriptor override when 4 byte
aligning occured. We still need a completely valid descriptor
when using the TX/RX dumping capabilities in debugfs.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add N-PHY related initvals firmware filenames.
Michael Buesch [Mon, 7 Jan 2008 11:55:14 +0000 (12:55 +0100)]
b43: Add N-PHY related initvals firmware filenames.

This adds the initval filenames for the N-PHY firmware.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix tim search buffer overrun
Michael Buesch [Thu, 27 Dec 2007 21:15:11 +0000 (22:15 +0100)]
b43: Fix tim search buffer overrun

Use the length of the variable section of the beacon instead of the
whole beacon length for bounds checking.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Put multicast frames on the mcast queue
Michael Buesch [Wed, 26 Dec 2007 17:26:17 +0000 (18:26 +0100)]
b43: Put multicast frames on the mcast queue

This queues frames flagged as "send after DTIM" by mac80211
on the special multicast queue. The firmware will take care
to send the packet after the DTIM.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix template upload locking.
Michael Buesch [Wed, 26 Dec 2007 17:04:14 +0000 (18:04 +0100)]
b43: Fix template upload locking.

This fixes the template upload locking.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix upload of beacon packets to the hardware
Michael Buesch [Wed, 26 Dec 2007 16:47:10 +0000 (17:47 +0100)]
b43: Fix upload of beacon packets to the hardware

This fixes uploading of the beacon data and writing of the
TIM and DTIM offsets.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add unified BSS configuration
Johannes Berg [Fri, 28 Dec 2007 13:32:58 +0000 (14:32 +0100)]
mac80211: add unified BSS configuration

This patch (based on Ron Rindjunsky's) creates a framework for
a unified way to pass BSS configuration to drivers that require
the information, e.g. for implementing power save mode.

This patch introduces new ieee80211_bss_conf structure that is
passed to the driver via the new bss_info_changed() callback
when the BSS configuration changes.

This new BSS configuration infrastructure adds the following
new features:
 * drivers are notified of their association AID
 * drivers are notified of association status

and replaces the erp_ie_changed() callback. The patch also does
the relevant driver updates for the latter change.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Fix rate reporting regression
Michael Wu [Wed, 26 Dec 2007 00:33:16 +0000 (19:33 -0500)]
mac80211: Fix rate reporting regression

Mattias Nissler's "clean up rate selection" patch incorrectly changes
the behavior of txrate setting in sta_info. This patch backs out parts
of the rate selection consolidation in order to fix this issue for now.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: A-MPDU Rx flow enabled
Ron Rindjunsky [Tue, 25 Dec 2007 15:00:38 +0000 (17:00 +0200)]
iwlwifi: A-MPDU Rx flow enabled

This patch enables the A-MPDU Rx flow. it contains several
adjustments to new mac80211 A-MPDU Rx flow.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath5k: Fix frame duration oops
Luis R. Rodriguez [Fri, 4 Jan 2008 07:21:05 +0000 (02:21 -0500)]
ath5k: Fix frame duration oops

This patch fixes an oops which was introduced as a regression by
commit fd640775bd16e1df50c867cc547af0, on the patch titled,
"mac80211: dont use interface indices in drivers".

ieee80211_generic_frame_duration() now relies on sdata->flags which
itself gets set upon bringing the interface up. We check for the
virtual interface now before setting the rate duration registers.

After the mode changes are introduced onto mac80211 we should revisit
these changes.

This patch was tested on the following cards:

1) BG card:

Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43)
RF2112A 2GHz radio found (0x46)

2) ABG card:

Atheros AR5213A chip found (MAC: 0x59,PHY: 0x43)
RF5112A multiband radio found (0x36)

Signed-off-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: implement cfg80211 station handling
Johannes Berg [Wed, 19 Dec 2007 01:03:35 +0000 (02:03 +0100)]
mac80211: implement cfg80211 station handling

This implements station handling from userspace via cfg80211
in mac80211.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add beacon configuration via cfg80211
Johannes Berg [Wed, 19 Dec 2007 01:03:33 +0000 (02:03 +0100)]
mac80211: add beacon configuration via cfg80211

This patch implements the cfg80211 hooks for configuring beaconing
on an access point interface in mac80211. While doing so, it fixes
a number of races that could badly crash the machine when the
beacon is changed while being requested by the driver.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: move interface type to vif structure
Johannes Berg [Wed, 19 Dec 2007 00:31:27 +0000 (01:31 +0100)]
mac80211: move interface type to vif structure

Drivers that support mixed AP/STA operation may well need to
know the type of a virtual interface when iterating over them.
The easiest way to support that is to move the interface type
variable into the vif structure.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: dont use interface indices in drivers
Johannes Berg [Wed, 19 Dec 2007 00:31:26 +0000 (01:31 +0100)]
mac80211: dont use interface indices in drivers

This patch gets rid of the if_id stuff where possible in favour of
a new per-virtual-interface structure "struct ieee80211_vif". This
structure is located at the end of the per-interface structure and
contains a variable length driver-use data area.

This has two advantages:
 * removes the need to look up interfaces by if_id, this is better
   for working with network namespaces and performance
 * allows drivers to store and retrieve per-interface data without
   having to allocate own lists/hash tables

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoAdd rtl8180 wireless driver
Michael Wu [Sun, 14 Oct 2007 18:43:16 +0000 (14:43 -0400)]
Add rtl8180 wireless driver

This patch adds a mac80211 based wireless driver for the rtl8180 and
rtl8185 PCI wireless cards.  Also included are some rtl8187 changes
required due to the relationship between that driver and this one.

Michael Wu is primarily responsible for the initial driver and rtl8185
support.  Andreas Merello provided the additional rtl8180 support.

Thanks to Jukka Ruohonen for the donating a rtl8185 card! It was very
helpful for the rtl8225z2 code.

The Signed-off-by information below is collected from the individual
patches submitted to wireless-2.6 before merging this driver upstream.

Signed-off-by: Andrea Merello <andreamrl@tiscali.it>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years ago[PATCH] Net: add ath5k wireless driver
Jiri Slaby [Sun, 12 Aug 2007 15:33:16 +0000 (17:33 +0200)]
[PATCH] Net: add ath5k wireless driver

add ath5k wireless driver

Portions of this driver are covered by one or both of the ISC and
3-clause BSD licenses.  Specific license information is cited at the top
of each file.

Acked-by and Signed-off-by information is collected from individual
patches as collected in the wireless-2.6 tree prior to upstream
submission.

Acked-by: Matthew W. S. Bell <mentor@madwifi.org>
Acked-by: Michael Taylor <mike.taylor@apprion.com>
Acked-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bradley M. Kuhn <bkuhn@softwarefreedom.org>
Signed-off-by: Bruno Randolf <bruno@thinktube.com>
Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Francesco Gringoli <francesco.gringoli@ing.unibs.it>
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Karen Sandler <karen@softwarefreedom.org>
Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Luis R. Rodriguez <mcgrof@gmail.com>
Signed-off-by: Matt Norwood <norwood@softwarefreedom.org>
Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: Richard Fontana <fontana@softwarefreedom.org>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Ulrich Meis <meis@nets.rwth-aachen.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: finish removal of pio support
John W. Linville [Thu, 10 Jan 2008 18:28:49 +0000 (13:28 -0500)]
b43: finish removal of pio support

As suggested in "b43: Remove PIO support"...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agohostap_cs: don't match revisions in presense of the MAC chip name
Pavel Roskin [Thu, 10 Jan 2008 03:16:58 +0000 (22:16 -0500)]
hostap_cs: don't match revisions in presense of the MAC chip name

If the third PCMCIA ID string specifies the MAC chip, the fourth ID
string doesn't need to be matched.  Even if it's different, it will be
compatible with the driver.

This ensures that other different revisions of the card will be
supported.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Remove the PHY spinlock
Michael Buesch [Wed, 9 Jan 2008 18:08:49 +0000 (19:08 +0100)]
b43: Remove the PHY spinlock

This fixes a sparse warning about weird locking.
The spinlock is not needed, so simply remove it.
This also adds some sanity checks to the PHY and radio locking
to protect against recursive locking.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Fix PHY register routing
Michael Buesch [Wed, 9 Jan 2008 17:39:09 +0000 (18:39 +0100)]
b43: Fix PHY register routing

This fixes the PHY routing bit handling.
This is needed for N-PHY.
No functional change to A-PHY and G-PHY code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add N-PHY register definitions
Michael Buesch [Wed, 9 Jan 2008 15:13:56 +0000 (16:13 +0100)]
b43: Add N-PHY register definitions

This patch adds all register definitions for the N-PHY.
This adds two new files: nphy.h and nphy.c
No functional changes to existing code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: fix alignment for QOS and WDS frames
Michael Buesch [Sat, 29 Dec 2007 16:24:23 +0000 (17:24 +0100)]
zd1211rw: fix alignment for QOS and WDS frames

This patch fixes RX packet alignment issues in the zd1211rw driver.
This is based on a patch by Johannes Berg.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>