]> Pileus Git - ~andy/linux/log
~andy/linux
16 years agorose: improving AX25 routing frames via ROSE network
Bernard Pidoux [Wed, 18 Jun 2008 00:08:32 +0000 (17:08 -0700)]
rose: improving AX25 routing frames via ROSE network

ROSE network is organized through nodes connected via hamradio or Internet.
AX25 packet radio frames sent to a remote ROSE address destination are routed
through these nodes.

Without the present patch, automatic routing mechanism did not work optimally
due to an improper parameter checking.

rose_get_neigh() function is called either by rose_connect() or by
rose_route_frame().

In the case of a call from rose_connect(), f0 timer is checked to find if a connection
is already pending. In that case it returns the address of the neighbour, or returns a NULL otherwise.

When called by rose_route_frame() the purpose was to route a packet AX25 frame
through an adjacent node given a destination rose address.
However, in that case, t0 timer checked does not indicate if the adjacent node
is actually connected even if the timer is not null. Thus, for each frame sent, the
function often tried to start a new connexion even if the adjacent node was already connected.

The patch adds a "new" parameter that is true when the function is called by
rose route_frame().
This instructs rose_get_neigh() to check node parameter "restarted".
If restarted is true it means that the route to the destination address is opened via a neighbour
node already connected.
If "restarted" is false the function returns a NULL.
In that case the calling function will initiate a new connection as before.

This results in a fast routing of frames, from nodes to nodes, until
destination is reached, as originaly specified by ROSE protocole.

Signed-off-by: Bernard Pidoux <f6bvp@amsat.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoxfrm: fix fragmentation for ipv4 xfrm tunnel
Steffen Klassert [Tue, 17 Jun 2008 23:37:13 +0000 (16:37 -0700)]
xfrm: fix fragmentation for ipv4 xfrm tunnel

When generating the ip header for the transformed packet we just copy
the frag_off field of the ip header from the original packet to the ip
header of the new generated packet. If we receive a packet as a chain
of fragments, all but the last of the new generated packets have the
IP_MF flag set. We have to mask the frag_off field to only keep the
IP_DF flag from the original packet. This got lost with git commit
36cf9acf93e8561d9faec24849e57688a81eb9c5 ("[IPSEC]: Separate
inner/outer mode processing on output")

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [fore200e] convert to use request_firmware()
Chas Williams [Tue, 17 Jun 2008 23:23:11 +0000 (16:23 -0700)]
atm: [fore200e] convert to use request_firmware()

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [he] remove #ifdef clutter
Chas Williams [Tue, 17 Jun 2008 23:21:44 +0000 (16:21 -0700)]
atm: [he] remove #ifdef clutter

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [iphase] 64-bit cleanup
Alan Cox [Tue, 17 Jun 2008 23:21:18 +0000 (16:21 -0700)]
atm: [iphase] 64-bit cleanup

This fixes the most obvious 64-bit problems, but it is still very very
broken in other aspects.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: use const where reasonable
Mitchell Blank Jr [Tue, 17 Jun 2008 23:20:06 +0000 (16:20 -0700)]
atm: use const where reasonable

From: Mitchell Blank Jr <mitch@sfgoth.com>

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [suni] add support for setting loopback and framing modes
Chas Williams [Tue, 17 Jun 2008 23:19:24 +0000 (16:19 -0700)]
atm: [suni] add support for setting loopback and framing modes

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [iphase] move struct suni_priv to suni.h
Jorge Boncompte [DTI2] [Tue, 17 Jun 2008 23:18:49 +0000 (16:18 -0700)]
atm: [iphase] move struct suni_priv to suni.h

Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agobridge: fix IPV6=n build
Randy Dunlap [Tue, 17 Jun 2008 23:16:13 +0000 (16:16 -0700)]
bridge: fix IPV6=n build

Fix bridge netfilter code so that it uses CONFIG_IPV6 as needed:

net/built-in.o: In function `ebt_filter_ip6':
ebt_ip6.c:(.text+0x87c37): undefined reference to `ipv6_skip_exthdr'
net/built-in.o: In function `ebt_log_packet':
ebt_log.c:(.text+0x88dee): undefined reference to `ipv6_skip_exthdr'
make[1]: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agobridge: make bridge address settings sticky
Stephen Hemminger [Tue, 17 Jun 2008 23:10:06 +0000 (16:10 -0700)]
bridge: make bridge address settings sticky

Normally, the bridge just chooses the smallest mac address as the
bridge id and mac address of bridge device. But if the administrator
has explictly set the interface address then don't change it.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agobridge: handle process all link-local frames
Stephen Hemminger [Tue, 17 Jun 2008 23:09:45 +0000 (16:09 -0700)]
bridge: handle process all link-local frames

Any frame addressed to link-local addresses should be processed by local
receive path. The earlier code would process them only if STP was enabled.
Since there are other frames like LACP for bonding, we should always
process them.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosctp: fix error path in sctp_proc_init
Pavel Emelyanov [Tue, 17 Jun 2008 22:54:14 +0000 (15:54 -0700)]
sctp: fix error path in sctp_proc_init

After the sctp_remaddr_proc_init failed, the proper rollback is
not the sctp_remaddr_proc_exit, but the sctp_assocs_proc_exit.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: nf_conntrack_h323: fix module unload crash
Patrick McHardy [Tue, 17 Jun 2008 22:52:32 +0000 (15:52 -0700)]
netfilter: nf_conntrack_h323: fix module unload crash

The H.245 helper is not registered/unregistered, but assigned to
connections manually from the Q.931 helper. This means on unload
existing expectations and connections using the helper are not
cleaned up, leading to the following oops on module unload:

CPU 0 Unable to handle kernel paging request at virtual address c00a6828, epc == 802224dc, ra == 801d4e7c
Oops[#1]:
Cpu 0
$ 0   : 00000000 00000000 00000004 c00a67f0
$ 4   : 802a5ad0 81657e00 00000000 00000000
$ 8   : 00000008 801461c8 00000000 80570050
$12   : 819b0280 819b04b0 00000006 00000000
$16   : 802a5a60 80000000 80b46000 80321010
$20   : 00000000 00000004 802a5ad0 00000001
$24   : 00000000 802257a8
$28   : 802a4000 802a59e8 00000004 801d4e7c
Hi    : 0000000b
Lo    : 00506320
epc   : 802224dc ip_conntrack_help+0x38/0x74     Tainted: P
ra    : 801d4e7c nf_iterate+0xbc/0x130
Status: 1000f403    KERNEL EXL IE
Cause : 00800008
BadVA : c00a6828
PrId  : 00019374
Modules linked in: ip_nat_pptp ip_conntrack_pptp ath_pktlog wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_xauth ath_pci ath_dev ath_dfs ath_rate_atheros wlan ath_hal ip_nat_tftp ip_conntrack_tftp ip_nat_ftp ip_conntrack_ftp pppoe ppp_async ppp_deflate ppp_mppe pppox ppp_generic slhc
Process swapper (pid: 0, threadinfo=802a4000, task=802a6000)
Stack : 801e7d98 00000004 802a5a60 80000000 801d4e7c 801d4e7c 802a5ad0 00000004
        00000000 00000000 801e7d98 00000000 00000004 802a5ad0 00000000 00000010
        801e7d98 80b46000 802a5a60 80320000 80000000 801d4f8c 802a5b00 00000002
        80063834 00000000 80b46000 802a5a60 801e7d98 80000000 802ba854 00000000
        81a02180 80b7e260 81a021b0 819b0000 819b0000 80570056 00000000 00000001
        ...
Call Trace:
 [<801e7d98>] ip_finish_output+0x0/0x23c
 [<801d4e7c>] nf_iterate+0xbc/0x130
 [<801d4e7c>] nf_iterate+0xbc/0x130
 [<801e7d98>] ip_finish_output+0x0/0x23c
 [<801e7d98>] ip_finish_output+0x0/0x23c
 [<801d4f8c>] nf_hook_slow+0x9c/0x1a4

One way to fix this would be to split helper cleanup from the unregistration
function and invoke it for the H.245 helper, but since ctnetlink needs to be
able to find the helper for synchonization purposes, a better fix is to
register it normally and make sure its not assigned to connections during
helper lookup. The missing l3num initialization is enough for this, this
patch changes it to use AF_UNSPEC to make it more explicit though.

Reported-by: liannan <liannan@twsz.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: nf_conntrack_h323: fix memory leak in module initialization error path
Patrick McHardy [Tue, 17 Jun 2008 22:52:07 +0000 (15:52 -0700)]
netfilter: nf_conntrack_h323: fix memory leak in module initialization error path

Properly free h323_buffer when helper registration fails.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetfilter: nf_nat: fix RCU races
Patrick McHardy [Tue, 17 Jun 2008 22:51:47 +0000 (15:51 -0700)]
netfilter: nf_nat: fix RCU races

Fix three ct_extend/NAT extension related races:

- When cleaning up the extension area and removing it from the bysource hash,
  the nat->ct pointer must not be set to NULL since it may still be used in
  a RCU read side

- When replacing a NAT extension area in the bysource hash, the nat->ct
  pointer must be assigned before performing the replacement

- When reallocating extension storage in ct_extend, the old memory must
  not be freed immediately since it may still be used by a RCU read side

Possibly fixes https://bugzilla.redhat.com/show_bug.cgi?id=449315
and/or http://bugzilla.kernel.org/show_bug.cgi?id=10875

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetrom: Kill spurious NULL'ing of sk->sk_socket.
David S. Miller [Tue, 17 Jun 2008 10:19:58 +0000 (03:19 -0700)]
netrom: Kill spurious NULL'ing of sk->sk_socket.

In nr_release(), one code path calls sock_orphan() which
will NULL out sk->sk_socket already.

In the other case, handling states other than NR_STATE_{0,1,2,3},
seems to not be possible other than due to bugs.  Even for an
uninitialized nr->state value, that would be zero or NR_STATE_0.
It might be wise to stick a WARN_ON() here.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agox25: Use sock_orphan() instead of open-coded (and buggy) variant.
David S. Miller [Tue, 17 Jun 2008 10:05:13 +0000 (03:05 -0700)]
x25: Use sock_orphan() instead of open-coded (and buggy) variant.

It doesn't grab the sk_callback_lock, it doesn't NULL out
the sk->sk_sleep waitqueue pointer, etc.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoeconet: Use sock_orphan() instead of open-coded (and buggy) variant.
David S. Miller [Tue, 17 Jun 2008 10:01:47 +0000 (03:01 -0700)]
econet: Use sock_orphan() instead of open-coded (and buggy) variant.

It doesn't grab the sk_callback_lock, it doesn't NULL out
the sk->sk_sleep waitqueue pointer, etc.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agox25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.
David S. Miller [Tue, 17 Jun 2008 09:44:35 +0000 (02:44 -0700)]
x25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.

This is the x25 variant of changeset
9375cb8a1232d2a15fe34bec4d3474872e02faec
("ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.")

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agorose: Use sock_graft() and remove bogus sk_socket and sk_sleep init.
David S. Miller [Tue, 17 Jun 2008 09:39:21 +0000 (02:39 -0700)]
rose: Use sock_graft() and remove bogus sk_socket and sk_sleep init.

This is the rose variant of changeset
9375cb8a1232d2a15fe34bec4d3474872e02faec
("ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.")

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetrom: Use sock_graft() and remove bogus sk_socket and sk_sleep init.
David S. Miller [Tue, 17 Jun 2008 09:36:44 +0000 (02:36 -0700)]
netrom: Use sock_graft() and remove bogus sk_socket and sk_sleep init.

This is the netrom variant of changeset
9375cb8a1232d2a15fe34bec4d3474872e02faec
("ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.")

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.
David S. Miller [Tue, 17 Jun 2008 09:20:54 +0000 (02:20 -0700)]
ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.

The way that listening sockets work in ax25 is that the packet input
code path creates new socks via ax25_make_new() and attaches them
to the incoming SKB.  This SKB gets queued up into the listening
socket's receive queue.

When accept()'d the sock gets hooked up to the real parent socket.
Alternatively, if the listening socket is closed and released, any
unborn socks stuff up in the receive queue get released.

So during this time period these sockets are unreachable in any
other way, so no wakeup events nor references to their ->sk_socket
and ->sk_sleep members can occur.  And even if they do, all such
paths have to make NULL checks.

So do not deceptively initialize them in ax25_make_new() to the
values in the listening socket.  Leave them at NULL.

Finally, use sock_graft() in ax25_accept().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agollc: Use sock_graft() instead of by-hand version.
David S. Miller [Tue, 17 Jun 2008 08:21:03 +0000 (01:21 -0700)]
llc: Use sock_graft() instead of by-hand version.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Kill SOCK_SLEEP_PRE and SOCK_SLEEP_POST, no users.
David S. Miller [Tue, 17 Jun 2008 08:09:00 +0000 (01:09 -0700)]
net: Kill SOCK_SLEEP_PRE and SOCK_SLEEP_POST, no users.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agodecnet: Remove SOCK_SLEEP_{PRE,POST} usage.
David S. Miller [Tue, 17 Jun 2008 08:06:01 +0000 (01:06 -0700)]
decnet: Remove SOCK_SLEEP_{PRE,POST} usage.

Just expand the wait sequence.  And as a nice side-effect
the timeout is respected now.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosctp: Kill SCTP_SOCK_SLEEP_{PRE,POST}, unused.
David S. Miller [Tue, 17 Jun 2008 07:40:36 +0000 (00:40 -0700)]
sctp: Kill SCTP_SOCK_SLEEP_{PRE,POST}, unused.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Emit event stream entries correctly when compat.
David S. Miller [Tue, 17 Jun 2008 01:50:49 +0000 (18:50 -0700)]
wext: Emit event stream entries correctly when compat.

Three major portions to this change:

1) Add IW_EV_COMPAT_LCP_LEN, IW_EV_COMPAT_POINT_OFF,
   and IW_EV_COMPAT_POINT_LEN helper defines.

2) Delete iw_stream_check_add_*(), they are unused.

3) Add iw_request_info argument to iwe_stream_add_*(), and use it to
   size the event and pointer lengths correctly depending upon whether
   IW_REQUEST_FLAG_COMPAT is set or not.

4) The mechanical transformations to the drivers and wireless stack
   bits to get the iw_request_info passed down into the routines
   modified in #3.  Also, explicit references to IW_EV_LCP_LEN are
   replaced with iwe_stream_lcp_len(info).

With a lot of help and bug fixes from Masakazu Mokuno.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Create IW_REQUEST_FLAG_COMPAT and set it as needed.
David S. Miller [Tue, 3 Jun 2008 14:39:16 +0000 (07:39 -0700)]
wext: Create IW_REQUEST_FLAG_COMPAT and set it as needed.

Now low-level WEXT ioctl handlers can do compat handling
when necessary.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Remove compat handling from fs/compat_ioctl.c
David S. Miller [Fri, 21 Dec 2007 11:55:13 +0000 (03:55 -0800)]
wext: Remove compat handling from fs/compat_ioctl.c

No longer used.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Dispatch and handle compat ioctls entirely in net/wireless/wext.c
David S. Miller [Tue, 3 Jun 2008 16:14:03 +0000 (09:14 -0700)]
wext: Dispatch and handle compat ioctls entirely in net/wireless/wext.c

Next we can kill the hacks in fs/compat_ioctl.c and also
dispatch compat ioctls down into the driver and 80211 protocol
helper layers in order to handle iw_point objects embedded in
stream replies which need to be translated.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Pull top-level ioctl dispatch logic into helper function.
David S. Miller [Tue, 3 Jun 2008 14:36:30 +0000 (07:36 -0700)]
wext: Pull top-level ioctl dispatch logic into helper function.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Pass iwreq pointer down into standard/private handlers.
David S. Miller [Fri, 21 Dec 2007 11:46:01 +0000 (03:46 -0800)]
wext: Pass iwreq pointer down into standard/private handlers.

They have no need to see the object as an ifreq.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Parameterize the standard/private handlers.
David S. Miller [Fri, 21 Dec 2007 11:41:45 +0000 (03:41 -0800)]
wext: Parameterize the standard/private handlers.

The WEXT standard and private handlers to use are now
arguments to wireless_process_ioctl().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Pull ioctl permission checking out into helper function.
David S. Miller [Fri, 21 Dec 2007 11:36:31 +0000 (03:36 -0800)]
wext: Pull ioctl permission checking out into helper function.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Extract private call iw_point handling into seperate functions.
David S. Miller [Fri, 21 Dec 2007 11:33:46 +0000 (03:33 -0800)]
wext: Extract private call iw_point handling into seperate functions.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Extract standard call iw_point handling into seperate function.
David S. Miller [Fri, 21 Dec 2007 11:27:17 +0000 (03:27 -0800)]
wext: Extract standard call iw_point handling into seperate function.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Make adjust_priv_size() take a "struct iw_point *".
David S. Miller [Fri, 21 Dec 2007 11:24:24 +0000 (03:24 -0800)]
wext: Make adjust_priv_size() take a "struct iw_point *".

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowext: Remove inline from get_priv_size() and adjust_priv_size().
David S. Miller [Fri, 21 Dec 2007 11:22:38 +0000 (03:22 -0800)]
wext: Remove inline from get_priv_size() and adjust_priv_size().

The compiler inlines when appropriate.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Tue, 17 Jun 2008 01:25:48 +0000 (18:25 -0700)]
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

Conflicts:

drivers/net/wireless/rt2x00/Kconfig
drivers/net/wireless/rt2x00/rt2x00usb.c
net/sctp/protocol.c

16 years agoatm: [he] send idle cells instead of unassigned when in SDH mode
Chas Williams [Tue, 17 Jun 2008 00:21:27 +0000 (17:21 -0700)]
atm: [he] send idle cells instead of unassigned when in SDH mode

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [he] limit queries to the device's register space
Robert T. Johnson [Tue, 17 Jun 2008 00:20:52 +0000 (17:20 -0700)]
atm: [he] limit queries to the device's register space

From: "Robert T. Johnson" <rtjohnso@eecs.berkeley.edu>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
16 years agoatm: [br2864] fix routed vcmux support
Eric Kinzie [Tue, 17 Jun 2008 00:18:18 +0000 (17:18 -0700)]
atm: [br2864] fix routed vcmux support

From: Eric Kinzie <ekinzie@cmf.nrl.navy.mil>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [he] only support suni driver on multimode interfaces
Chas Williams [Tue, 17 Jun 2008 00:17:31 +0000 (17:17 -0700)]
atm: [he] only support suni driver on multimode interfaces

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [iphase] doesn't call phy->start due to a bogus #ifndef
Jorge Boncompte [DTI2] [Tue, 17 Jun 2008 00:16:35 +0000 (17:16 -0700)]
atm: [iphase] doesn't call phy->start due to a bogus #ifndef

This causes the suni driver to oops if you try to use sonetdiag to get
the statistics. Also add the corresponding phy->stop call to fix another
oops if you try to remove the module.

Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [iphase] set drvdata before enabling interrupts
Jorge Boncompte [DTI2] [Tue, 17 Jun 2008 00:16:04 +0000 (17:16 -0700)]
atm: [iphase] set drvdata before enabling interrupts

Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoatm: [br2684] Fix oops due to skb->dev being NULL
Jorge Boncompte [DTI2] [Tue, 17 Jun 2008 00:15:33 +0000 (17:15 -0700)]
atm: [br2684] Fix oops due to skb->dev being NULL

It happens that if a packet arrives in a VC between the call to open it on
the hardware and the call to change the backend to br2684, br2684_regvcc
processes the packet and oopses dereferencing skb->dev because it is
NULL before the call to br2684_push().

Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
16 years agonetns: introduce the net_hash_mix "salt" for hashes
Pavel Emelyanov [Tue, 17 Jun 2008 00:14:11 +0000 (17:14 -0700)]
netns: introduce the net_hash_mix "salt" for hashes

There are many possible ways to add this "salt", thus I made this
patch to be the last in the series to change it if required.

Currently I propose to use the struct net pointer itself as this
salt, but since this pointer is most often cache-line aligned, shift
this right to eliminate the bits, that are most often zeroed.

After this, simply add this mix to prepared hashfn-s.

For CONFIG_NET_NS=n case this salt is 0 and no changes in hashfn
appear.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoinet6: add struct net argument to inet6_ehashfn
Pavel Emelyanov [Tue, 17 Jun 2008 00:13:48 +0000 (17:13 -0700)]
inet6: add struct net argument to inet6_ehashfn

Same as for inet_hashfn, prepare its ipv6 incarnation.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoinet: add struct net argument to inet_ehashfn
Pavel Emelyanov [Tue, 17 Jun 2008 00:13:27 +0000 (17:13 -0700)]
inet: add struct net argument to inet_ehashfn

Although this hash takes addresses into account, the ehash chains
can also be too long when, for instance, communications via lo occur.
So, prepare the inet_hashfn to take struct net into account.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoinet: add struct net argument to inet_lhashfn
Pavel Emelyanov [Tue, 17 Jun 2008 00:13:08 +0000 (17:13 -0700)]
inet: add struct net argument to inet_lhashfn

Listening-on-one-port sockets in many namespaces produce long
chains in the listening_hash-es, so prepare the inet_lhashfn to
take struct net into account.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoinet: add struct net argument to inet_bhashfn
Pavel Emelyanov [Tue, 17 Jun 2008 00:12:49 +0000 (17:12 -0700)]
inet: add struct net argument to inet_bhashfn

Binding to some port in many namespaces may create too long
chains in bhash-es, so prepare the hashfn to take struct net
into account.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoudp: add struct net argument to udp_hashfn
Pavel Emelyanov [Tue, 17 Jun 2008 00:12:29 +0000 (17:12 -0700)]
udp: add struct net argument to udp_hashfn

Every caller already has this one. The new argument is currently
unused, but this will be fixed shortly.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoudp: provide a struct net pointer for __udp[46]_lib_mcast_deliver
Pavel Emelyanov [Tue, 17 Jun 2008 00:12:11 +0000 (17:12 -0700)]
udp: provide a struct net pointer for __udp[46]_lib_mcast_deliver

They both calculate the hash chain, but currently do not have
a struct net pointer, so pass one there via additional argument,
all the more so their callers already have such.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoudp: introduce a udp_hashfn function
Pavel Emelyanov [Tue, 17 Jun 2008 00:11:50 +0000 (17:11 -0700)]
udp: introduce a udp_hashfn function

Currently the chain to store a UDP socket is calculated with
simple (x & (UDP_HTABLE_SIZE - 1)). But taking net into account
would make this calculation a bit more complex, so moving it into
a function would help.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv4: Remove unused definitions in net/ipv4/tcp_ipv4.c.
Rami Rosen [Tue, 17 Jun 2008 00:07:16 +0000 (17:07 -0700)]
ipv4: Remove unused definitions in net/ipv4/tcp_ipv4.c.

1) Remove ICMP_MIN_LENGTH, as it is unused.

2) Remove unneeded tcp_v4_send_check() declaration.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoraw: Restore /proc/net/raw correct behavior
Eric Dumazet [Tue, 17 Jun 2008 00:03:32 +0000 (17:03 -0700)]
raw: Restore /proc/net/raw correct behavior

I just noticed "cat /proc/net/raw" was buggy, missing '\n' separators.

I believe this was introduced by commit 8cd850efa4948d57a2ed836911cfd1ab299e89c6
([RAW]: Cleanup IPv4 raw_seq_show.)

This trivial patch restores correct behavior, and applies to current
Linus tree (should also be applied to stable tree as well.)

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Fix test for VLAN TX checksum offload capability
Ben Hutchings [Tue, 17 Jun 2008 00:02:28 +0000 (17:02 -0700)]
net: Fix test for VLAN TX checksum offload capability

Selected device feature bits can be propagated to VLAN devices, so we
can make use of TX checksum offload and TSO on VLAN-tagged packets.
However, if the physical device does not do VLAN tag insertion or
generic checksum offload then the test for TX checksum offload in
dev_queue_xmit() will see a protocol of htons(ETH_P_8021Q) and yield
false.

This splits the checksum offload test into two functions:

- can_checksum_protocol() tests a given protocol against a feature bitmask

- dev_can_checksum() first tests the skb protocol against the device
  features; if that fails and the protocol is htons(ETH_P_8021Q) then
  it tests the encapsulated protocol against the effective device
  features for VLANs

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosctp: Correclty set changeover_active for SFR-CACC
Vlad Yasevich [Tue, 17 Jun 2008 00:00:29 +0000 (17:00 -0700)]
sctp: Correclty set changeover_active for SFR-CACC

Right now, any time we set a primary transport we set
the changeover_active flag.  As a result, we invoke SFR-CACC
even when there has been no changeover events.

Only set changeover_active, when there is a true changeover
event, i.e. we had a primary path and we are changing to
another transport.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosctp: Correctly cleanup procfs entries upon failure.
Wei Yongjun [Mon, 16 Jun 2008 23:59:55 +0000 (16:59 -0700)]
sctp: Correctly cleanup procfs entries upon failure.

This patch remove the proc fs entry which has been created if fail to
set up proc fs entry for the SCTP protocol.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotcp: Revert reset of deferred accept changes in 2.6.26
David S. Miller [Mon, 16 Jun 2008 23:57:40 +0000 (16:57 -0700)]
tcp: Revert reset of deferred accept changes in 2.6.26

Ingo's system is still seeing strange behavior, and he
reports that is goes away if the rest of the deferred
accept changes are reverted too.

Therefore this reverts e4c78840284f3f51b1896cf3936d60a6033c4d2c
("[TCP]: TCP_DEFER_ACCEPT updates - dont retxmt synack") and
539fae89bebd16ebeafd57a87169bc56eb530d76 ("[TCP]: TCP_DEFER_ACCEPT
updates - defer timeout conflicts with max_thresh").

Just like the other revert, these ideas can be revisited for
2.6.27

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv6 sit: Avoid extra need for compat layer in PRL management.
YOSHIFUJI Hideaki [Mon, 16 Jun 2008 23:48:20 +0000 (16:48 -0700)]
ipv6 sit: Avoid extra need for compat layer in PRL management.

We've introduced extra need of compat layer for ip_tunnel_prl{}
for PRL (Potential Router List) management.  Though compat_ioctl
is still missing in ipv4/ipv6, let's make the interface more
straight-forward and eliminate extra need for nasty compat layer
anyway since the interface is new for 2.6.26.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Change HTB_HYSTERESIS to a runtime parameter htb_hysteresis.
Jesper Dangaard Brouer [Mon, 16 Jun 2008 23:39:32 +0000 (16:39 -0700)]
pkt_sched: Change HTB_HYSTERESIS to a runtime parameter htb_hysteresis.

Add a htb_hysteresis parameter to htb_sch.ko and by sysfs magic make
it runtime adjustable via
/sys/module/sch_htb/parameters/htb_hysteresis mode 640.

Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk>
Acked-by: Martin Devera <devik@cdi.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: HTB scheduler, change default hysteresis mode to off.
Jesper Dangaard Brouer [Mon, 16 Jun 2008 23:38:33 +0000 (16:38 -0700)]
pkt_sched: HTB scheduler, change default hysteresis mode to off.

The HTB hysteresis mode reduce the CPU load, but at the
cost of scheduling accuracy.

On ADSL links (512 kbit/s upstream), this inaccuracy introduce
significant jitter, enought to disturbe VoIP.  For details see my
masters thesis (http://www.adsl-optimizer.dk/thesis/), chapter 7,
section 7.3.1, pp 69-70.

Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk>
Acked-by: Martin Devera <devik@cdi.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireles...
David S. Miller [Sun, 15 Jun 2008 00:33:38 +0000 (17:33 -0700)]
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6

16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireles...
David S. Miller [Sun, 15 Jun 2008 00:15:39 +0000 (17:15 -0700)]
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6

16 years agonet: change proto destroy method to return void
Brian Haley [Sun, 15 Jun 2008 00:04:49 +0000 (17:04 -0700)]
net: change proto destroy method to return void

Change struct proto destroy function pointer to return void.  Noticed
by Al Viro.

Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agomac80211: eliminate IBSS warning in rate_lowest_index() master-2008-06-14
Vladimir Koutny [Fri, 13 Jun 2008 14:50:44 +0000 (16:50 +0200)]
mac80211: eliminate IBSS warning in rate_lowest_index()

In IBSS mode prior to join/creation of new IBSS it is possible that
a frame from unknown station is received and an ibss_add_sta() is
called. This will cause a warning in rate_lowest_index() since the
list of supported rates of our station is not initialized yet.

The fix is to add ibss stations with a rate we received that frame
at; this single-element set will be extended later based on beacon
data. Also there is no need to store stations from a foreign IBSS.

Signed-off-by: Vladimir Koutny <vlado@ksp.sk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: tkip.c use a local struct tkip_ctx in ieee80211_get_tkip_key
Harvey Harrison [Wed, 11 Jun 2008 21:22:02 +0000 (14:22 -0700)]
mac80211: tkip.c use a local struct tkip_ctx in ieee80211_get_tkip_key

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: tkip.c fold ieee80211_gen_rc4key into its one caller
Harvey Harrison [Wed, 11 Jun 2008 21:22:00 +0000 (14:22 -0700)]
mac80211: tkip.c fold ieee80211_gen_rc4key into its one caller

Also change the arguments of the phase1, 2 key mixing to take
a pointer to the encrytion key and the tkip_ctx in the same
order.

Do the dereference of the encryption key in the callers.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: tkip.c consolidate tkip IV writing in helper
Harvey Harrison [Wed, 11 Jun 2008 21:22:00 +0000 (14:22 -0700)]
mac80211: tkip.c consolidate tkip IV writing in helper

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: rx.c use new helpers
Harvey Harrison [Wed, 11 Jun 2008 21:21:59 +0000 (14:21 -0700)]
mac80211: rx.c use new helpers

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: wme.c use new helpers
Harvey Harrison [Wed, 11 Jun 2008 21:21:59 +0000 (14:21 -0700)]
mac80211: wme.c use new helpers

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: use new helpers in util.c - ieee80211_get_bssid()
Harvey Harrison [Wed, 11 Jun 2008 21:21:58 +0000 (14:21 -0700)]
mac80211: use new helpers in util.c - ieee80211_get_bssid()

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: wpa.c use new access helpers
Harvey Harrison [Wed, 11 Jun 2008 21:21:58 +0000 (14:21 -0700)]
mac80211: wpa.c use new access helpers

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add utility function to get header length
Harvey Harrison [Wed, 11 Jun 2008 21:21:57 +0000 (14:21 -0700)]
mac80211: add utility function to get header length

Take a __le16 directly rather than a host-endian value.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: make ieee80211_get_hdrlen_from_skb return unsigned
Harvey Harrison [Wed, 11 Jun 2008 21:21:57 +0000 (14:21 -0700)]
mac80211: make ieee80211_get_hdrlen_from_skb return unsigned

Many callers already expect it to.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: remove ieee80211_get_morefrag
Harvey Harrison [Wed, 11 Jun 2008 21:21:56 +0000 (14:21 -0700)]
mac80211: remove ieee80211_get_morefrag

Replaced by the new helper ieee80211_has_morefrags which is
more consistent with the intent of the function.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add helpers for frame control testing
Harvey Harrison [Wed, 11 Jun 2008 21:21:56 +0000 (14:21 -0700)]
mac80211: add helpers for frame control testing

A few general categories:

1) ieee80211_has_* tests if particular fctl bits are set, the helpers are de
in the same order as the fctl defines:

A combined _has_a4 was also added to test when both FROMDS and TODS are set.

2) ieee80211_is_* is meant to test whether the frame control is of a certain
ftype - data, mgmt, ctl, and two special helpers _is_data_qos, _is_data_pres
which also test a subset of the stype space.

When testing for a particular stype applicable only to one ftype, functions
like ieee80211_is_ack have been added.  Note that the ftype is also being
checked in these helpers.  They have been added for all mgmt and ctl stypes
in the same order as the STYPE defines.

3) ieee80211_get_* is meant to take a struct ieee80211_hdr * and returns a
pointer to somewhere in the struct, see get_SA, get_DA, get_qos_ctl.

The intel wireless drivers had helpers that used this namespace, convert the
all to use the new helpers and remove the byteshifting as they were defined
in cpu-order rather than little-endian.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211_hwsim: Shared TX code for received frames and Beacons
Jouni Malinen [Fri, 13 Jun 2008 16:44:48 +0000 (19:44 +0300)]
mac80211_hwsim: Shared TX code for received frames and Beacons

Use a shared function for transmitting the frames instead of
duplicated code in two places.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211_hwsim: Minor cleanup
Jouni Malinen [Fri, 13 Jun 2008 16:44:47 +0000 (19:44 +0300)]
mac80211_hwsim: Minor cleanup

Remove unnecessary '__constant_' prefix and use the atomic version of
ieee80211_iterate_active_interfaces().

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211_hwsim: Clean up documentation
Jouni Malinen [Fri, 13 Jun 2008 16:44:46 +0000 (19:44 +0300)]
mac80211_hwsim: Clean up documentation

Clean up the introduction and fix a typo.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211_hwsim: 802.11 radio simulator for mac80211
Jouni Malinen [Wed, 11 Jun 2008 07:42:31 +0000 (10:42 +0300)]
mac80211_hwsim: 802.11 radio simulator for mac80211

mac80211_hwsim is a Linux kernel module that can be used to simulate
arbitrary number of IEEE 802.11 radios for mac80211 on a single
device. It can be used to test most of the mac80211 functionality and
user space tools (e.g., hostapd and wpa_supplicant) in a way that
matches very closely with the normal case of using real WLAN
hardware. From the mac80211 view point, mac80211_hwsim is yet another
hardware driver, i.e., no changes to mac80211 are needed to use this
testing tool.

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: unify SW rf-kill flow
Emmanuel Grumbach [Fri, 13 Jun 2008 07:44:55 +0000 (15:44 +0800)]
iwlwifi: unify SW rf-kill flow

This patch unifies SW rf-kill flow between 4965 and 5000. It enables SW
RF-kill for 5000. This patch also solves a bug in iwl4965_mac_config:
bad mutex locking balance.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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: remove 4965 prefix from iwl4965_ucode
Ron Rindjunsky [Fri, 13 Jun 2008 07:44:54 +0000 (15:44 +0800)]
iwlwifi: remove 4965 prefix from iwl4965_ucode

The patch removes 4965 prefix from iwl4965_ucode.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
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: adding channels to sysfs
Ester Kummer [Fri, 13 Jun 2008 07:44:53 +0000 (15:44 +0800)]
iwlwifi: adding channels to sysfs

This patch returns channel list to sysfs.

Signed-off-by: Ester Kummer <ester.kummer@intel.com>
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 agomac80211: fix beacon interval value
Tomas Winkler [Thu, 12 Jun 2008 19:38:37 +0000 (22:38 +0300)]
mac80211: fix beacon interval value

This patch fixes setting beacon interval

1. in register_hw it honors value requested by the driver
2. It uses default 100 instead of 1000 or 10000. Scanning for beacon
interval ~1sec and above is not sane

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agorndis_wlan: Use kernel-supplied ARRAY_SIZE() macro.
Robert P. J. Day [Thu, 12 Jun 2008 19:34:42 +0000 (15:34 -0400)]
rndis_wlan: Use kernel-supplied ARRAY_SIZE() macro.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agorndis_wlan: preallocate command buffer for set/get_oid
Jussi Kivilinna [Thu, 12 Jun 2008 17:19:19 +0000 (20:19 +0300)]
rndis_wlan: preallocate command buffer for set/get_oid

Reduce amount of kmalloc/kfree calls in set/get_oid by preallocating command
buffer.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agorndis_wlan: use kzalloc to allocate private data
Jussi Kivilinna [Thu, 12 Jun 2008 17:19:01 +0000 (20:19 +0300)]
rndis_wlan: use kzalloc to allocate private data

rndis_wlan used kmalloc to allocate private data structure and leaving data
uninitialized, but later assumed to be set zero.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: do not fragment while aggregation is in use
Ron Rindjunsky [Thu, 12 Jun 2008 12:42:29 +0000 (15:42 +0300)]
mac80211: do not fragment while aggregation is in use

This patch denies the use of framentation while ampdu is used.

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 agoiwlwifi: remove iwlcore_low_level_notify
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:19 +0000 (09:47 +0800)]
iwlwifi: remove iwlcore_low_level_notify

This patch removes the iwlcore_low_level_notify. The
notification chain is not required in this level.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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: general code clean up
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:18 +0000 (09:47 +0800)]
iwlwifi: general code clean up

This patch cleans up iwlwifi's code: Add missing include, remove empty
lines etc...

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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 software rf_kill problem when interface is down
Zhu Yi [Thu, 12 Jun 2008 01:47:17 +0000 (09:47 +0800)]
iwlwifi: fix software rf_kill problem when interface is down

The patch fixes the problem that software rf_kill messes up the
card status when it is disabled if the interface is down.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove dead code iwl4965_calc_db_from_ratio
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:15 +0000 (09:47 +0800)]
iwlwifi: remove dead code iwl4965_calc_db_from_ratio

This patch removes iwl4965_calc_db_from_ratio which is dead code.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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: retfactor get_temperature functions
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:14 +0000 (09:47 +0800)]
iwlwifi: retfactor get_temperature functions

This patch renames iwl4965_get_tempearture to iwl4965_hw_get_temperature
and replaces usage of original iwl4965_hw_get_temperature by
direct access to priv->temperature.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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_rf_kill_ct_config to iwl-core.c
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:13 +0000 (09:47 +0800)]
iwlwifi: move iwl4965_rf_kill_ct_config to iwl-core.c

This patch moves iwl4965_rf_kill_ct_config to iwl-core.c.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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: cleans up scanning code
Tomas Winkler [Thu, 12 Jun 2008 01:47:12 +0000 (09:47 +0800)]
iwlwifi: cleans up scanning code

This patch
1. cleans up scanning code.
2. It adds round robin of TX antannas/chains.

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 rate helpers to iwlcore
Tomas Winkler [Thu, 12 Jun 2008 01:47:11 +0000 (09:47 +0800)]
iwlwifi: move rate helpers to iwlcore

This patch moves rate helpers to iwlcore.

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 scan to iwl-scan.c iwlcore
Tomas Winkler [Thu, 12 Jun 2008 01:47:10 +0000 (09:47 +0800)]
iwlwifi: move scan to iwl-scan.c iwlcore

This patch moves scan code to iwl-scan.c file in iwlcore 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: add bad length check for WEP keys
Emmanuel Grumbach [Thu, 12 Jun 2008 01:47:09 +0000 (09:47 +0800)]
iwlwifi: add bad length check for WEP keys

This patch adds a check for bad length in set key flow. This solves the
Oops reported by Thomas Backlund, Joonwoo Park and Ian Schram.
It also adds some debug printing that can be useful.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
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>