11 years agodrivers/net: Kill now superfluous ->last_rx stores.
David S. Miller [Tue, 4 Nov 2008 05:11:17 +0000]
drivers/net: Kill now superfluous ->last_rx stores.

The generic packet receive code takes care of setting
netdev->last_rx when necessary, for the sake of the
bonding ARP monitor.

Drivers need not do it any more.

Some cases had to be skipped over because the drivers
were making use of the ->last_rx value themselves.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: remove two duplicated #include
Jianjun Kong [Tue, 4 Nov 2008 02:23:09 +0000]
net: remove two duplicated #include

Removed duplicated #include <rdma/ib_verbs.h> in net/9p/trans_rdma.c
and  #include <linux/thread_info.h> in net/socket.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: '&' redux
Alexey Dobriyan [Tue, 4 Nov 2008 02:21:05 +0000]
net: '&' redux

I want to compile out proc_* and sysctl_* handlers totally and
stub them to NULL depending on config options, however usage of &
will prevent this, since taking adress of NULL pointer will break
compilation.

So, drop & in front of every ->proc_handler and every ->strategy
handler, it was never needed in fact.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agobonding, net: Move last_rx update into bonding recv logic
Jay Vosburgh [Tue, 4 Nov 2008 02:16:50 +0000]
bonding, net: Move last_rx update into bonding recv logic

The only user of the net_device->last_rx field is bonding.
This patch adds a conditional update of last_rx to the bonding special
logic in skb_bond_should_drop, causing last_rx to only be updated when
the ARP monitor is running.

This frees network device drivers from the necessity of
updating last_rx, which can have cache line thrash issues.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: increase receive packet quantum
Stephen Hemminger [Tue, 4 Nov 2008 01:14:38 +0000]
net: increase receive packet quantum

This patch gets about 1.25% back on tbench regression.

My change to NAPI for multiqueue support changed the time limit on
network receive processing.  Under sustained loads like tbench, this
can cause the receiver to reschedule prematurely.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoprintk: ipv4 address digits printed in reverse order
Harvey Harrison [Tue, 4 Nov 2008 01:09:55 +0000]
printk: ipv4 address digits printed in reverse order

put_dec_trunc prints the digits in reverse order and is reversed
inside number(). Continue using put_dec_trunc, but reverse each quad
in ip4_addr_string.

[Noticed by Julius Volz]

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoIPVS: Remove supports_ipv6 scheduler flag
Julius Volz [Tue, 4 Nov 2008 01:08:56 +0000]
IPVS: Remove supports_ipv6 scheduler flag

Remove the 'supports_ipv6' scheduler flag since all schedulers now
support IPv6.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoIPVS: Add IPv6 support to LBLC/LBLCR schedulers
Julius Volz [Tue, 4 Nov 2008 01:08:28 +0000]
IPVS: Add IPv6 support to LBLC/LBLCR schedulers

Add IPv6 support to LBLC and LBLCR schedulers. These were the last
schedulers without IPv6 support, but we might want to keep the
supports_ipv6 flag in the case of future schedulers without IPv6
support.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
Acked-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Update version to 3.95
Matt Carlson [Tue, 4 Nov 2008 00:58:53 +0000]
tg3: Update version to 3.95

This patch updates the version to 3.95.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agobroadcom: Add support for BCM50610
Matt Carlson [Tue, 4 Nov 2008 00:56:51 +0000]
broadcom: Add support for BCM50610

This patch adds the BCM50610 to the list of phys supported by the
broadcom driver.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agobroadcom: Refine expansion register access routine
Matt Carlson [Tue, 4 Nov 2008 00:56:29 +0000]
broadcom: Refine expansion register access routine

This patch makes the expansion register access routines a little more
formal.  They will be used by the following bcm50610 support patch.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agobroadcom: Add flow control support
Matt Carlson [Tue, 4 Nov 2008 00:56:07 +0000]
broadcom: Add flow control support

This patch adds flow control support to Broadcom phys.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: 5785 enhancements
Matt Carlson [Tue, 4 Nov 2008 00:55:44 +0000]
tg3: 5785 enhancements

This patch refines support for the 5785 device.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Refine phylib support
Matt Carlson [Tue, 4 Nov 2008 00:54:56 +0000]
tg3: Refine phylib support

This patch refines the phylib support in the tg3 driver.  The patch does
the following things :

* Rename tg3_mdio_config() to tg3_mdio_config_5785().  The 5785 will be
  the only device that will use it so the name might as well reflect
  that.
* Fix a memory leak if mdiobus_register() fails.
* Add code to deal with phy device detection failures.
* Add code to correct the supported list of phy features based on the
  MAC <=> PHY interface.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Allow WOL for phylib controlled Broadcom phys
Matt Carlson [Tue, 4 Nov 2008 00:54:15 +0000]
tg3: Allow WOL for phylib controlled Broadcom phys

This patch allows WOL to be enabled for Broadcom phys under phylib
control.  The only exception is the AC131, which has a completely
different register set.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Refine power management and WOL code
Matt Carlson [Tue, 4 Nov 2008 00:53:46 +0000]
tg3: Refine power management and WOL code

Commit 12dac0756d357325b107fe6ec24921ec38661839 ("tg3: adapt tg3 to
use reworked PCI PM code") introduced the new PCI PM API to the tg3
driver.  The patch was understandably conservative, so this patch
elaborates on that work.

The patch starts by creating a single point in tg3_set_power_state()
to decide whether or not to enable WOL.  The rest of the code in
tg3_set_power_state() was then pivoted to use the result of this
decision.

The patch then makes sure the device is allowed to wakeup before
reporting whether or not WOL is currently enabled.  The final hunks of
the patch consolidate where the WOL capability and WOL enabled flags
are set to a single location.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Move phylib report to end of tg3_init_one
Matt Carlson [Tue, 4 Nov 2008 00:52:56 +0000]
tg3: Move phylib report to end of tg3_init_one

Currently, phylib reports appear with a eth%d prefix.  Move the line
after register_netdev() and place it alongside the other informative
messages.  Update nearby informative messages accordingly.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Do not enable APE on bcm5700
Matt Carlson [Tue, 4 Nov 2008 00:52:32 +0000]
tg3: Do not enable APE on bcm5700

With older versions of the NVRAM format, the driver may mistakenly
determine that APE is enabled.  Make sure this doesn't happen by
restricting the ENABLE_APE check to devices known to have more
recent NVRAM image formats.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Reclaim TG3_FLG3_5761_5784_AX_FIXES flag
Matt Carlson [Tue, 4 Nov 2008 00:52:09 +0000]
tg3: Reclaim TG3_FLG3_5761_5784_AX_FIXES flag

This patch reclaims the TG3_FLG3_5761_5784_AX_FIXES flag.  It only
used twice in non-fast paths.  This patch also consolidates some other
places where specific 5784 AX chip revisions can be generalized.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Preserve LAA when device control is released
Matt Carlson [Tue, 4 Nov 2008 00:51:36 +0000]
tg3: Preserve LAA when device control is released

This patch moves the __tg3_set_mac_addr() function earlier in the file
listing, to avoid a function prototype, and calls the function to
restore the LAA after a driver unload chip reset.  With this code in
place, the administrator can wake the machine using the LAA.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Preserve DASH connectivity when WOL enabled
Matt Carlson [Tue, 4 Nov 2008 00:51:11 +0000]
tg3: Preserve DASH connectivity when WOL enabled

DASH firmware runs on the APE side of the chip, but it requires a few MAC
to be programmed correctly.

When WOL is enabled and management firmware is disabled, incoming
packets are evaluated and discarded at the chip's rule processor.
When management firmware is enabled, the hardware must be informed that
there are agents further up the stack that still use the incoming
frames.  Normally management firmware will configure the MAC correctly
on its own, but there can be cases where the setting could get clobbered
by the driver.  The first hunk of this patch preserves this setting.

The second hunk of this patch wipes out the driver present signature of
the APE memory space.  By doing so, the DASH firmware can assume
driver absent behavior.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Use pci_ioremap_bar()
Matt Carlson [Tue, 4 Nov 2008 00:49:57 +0000]
tg3: Use pci_ioremap_bar()

This patch replaces the existing APE register mapping code with a call
to pci_ioremap_bar().  The code that maps the main device register space
did not undergo a similar change because the information derived from
the pci_resource_start() and pci_resource_len() is still used to
populate the (optional) mem_start and mem_end netdevice members.
Replace hardcoded constants where appropriate.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agotg3: Add 5761S support
Matt Carlson [Tue, 4 Nov 2008 00:49:18 +0000]
tg3: Add 5761S support

This patch adds support for the 5761S chip variants.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agopkt_sched: sch_generic: Kfree gso_skb in qdisc_reset()
Jarek Poplawski [Mon, 3 Nov 2008 10:52:50 +0000]
pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset()

Since gso_skb is re-used for qdisc_peek_dequeued(), and this skb is
counted in the qdisc->q.qlen, it has to be kfreed during qdisc_reset()
when qlen is zeroed.

With help from David S. Miller <davem@davemloft.net>

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/tcp_ipv4.c
Jianjun Kong [Mon, 3 Nov 2008 10:49:10 +0000]
net: clean up net/ipv4/tcp_ipv4.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/devinet.c
Jianjun Kong [Mon, 3 Nov 2008 10:48:48 +0000]
net: clean up net/ipv4/devinet.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/pararp.c
Jianjun Kong [Mon, 3 Nov 2008 10:48:14 +0000]
net: clean up net/ipv4/pararp.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/ip_fragment.c tcp_timer.c ip_input.c
Jianjun Kong [Mon, 3 Nov 2008 10:47:38 +0000]
net: clean up net/ipv4/ip_fragment.c tcp_timer.c ip_input.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/ipmr.c
Jianjun Kong [Mon, 3 Nov 2008 08:28:02 +0000]
net: clean up net/ipv4/ipmr.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/ip_sockglue.c tcp_output.c
Jianjun Kong [Mon, 3 Nov 2008 08:27:11 +0000]
net: clean up net/ipv4/ip_sockglue.c tcp_output.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/igmp.c
Jianjun Kong [Mon, 3 Nov 2008 08:26:09 +0000]
net: clean up net/ipv4/igmp.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/fib_frontend.c fib_hash.c ip_gre.c
Jianjun Kong [Mon, 3 Nov 2008 08:25:16 +0000]
net: clean up net/ipv4/fib_frontend.c fib_hash.c ip_gre.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/ipip.c raw.c tcp.c tcp_minisocks.c tcp_yeah.c xfrm4_policy.c
Jianjun Kong [Mon, 3 Nov 2008 08:24:34 +0000]
net: clean up net/ipv4/ipip.c raw.c tcp.c tcp_minisocks.c tcp_yeah.c xfrm4_policy.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agonet: clean up net/ipv4/ah4.c esp4.c fib_semantics.c inet_connection_sock.c inetpeer...
Jianjun Kong [Mon, 3 Nov 2008 08:23:42 +0000]
net: clean up net/ipv4/ah4.c esp4.c fib_semantics.c inet_connection_sock.c inetpeer.c ip_output.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosunrpc: Fix build warning due to typo in %pI4 format changes.
David S. Miller [Mon, 3 Nov 2008 07:57:06 +0000]
sunrpc: Fix build warning due to typo in %pI4 format changes.

Noticed by Stephen Hemminger.

Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoIPVS: Add IPv6 support to SH and DH schedulers
Julius Volz [Sat, 1 Nov 2008 13:13:19 +0000]
IPVS: Add IPv6 support to SH and DH schedulers

Add IPv6 support to SH and DH schedulers. I hope this simple IPv6 address
hashing is good enough. The 128 bit are just XORed into 32 before hashing
them like an IPv4 address.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
Acked-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Sun, 2 Nov 2008 21:13:07 +0000]
Merge branch 'davem-next' of /linux/kernel/git/jgarzik/netdev-2.6

11 years agobonding: update docs to correctly reflect arp_ip_target behavior
Andy Gospodarek [Wed, 22 Oct 2008 11:19:48 +0000]
bonding: update docs to correctly reflect arp_ip_target behavior

This documentation patch hopes to clarify that the '+' was only needed
for Fedora 7 and Red Hat Enterprise Linux 5.0 and 5.1.  After that the
IP addreses could be added as a comma separated list just like the
module option.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agosmc91x: add __init markings to smc_drv_probe()
Mike Frysinger [Fri, 31 Oct 2008 22:11:06 +0000]
smc91x: add __init markings to smc_drv_probe()

The smc_drv_probe() is the platform_driver probe function and it is only
called during init.  Further, it calls smc_probe() which is marked as __init
already.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoforcdeth: increase max_interrupt_work
Joe Korty [Wed, 29 Oct 2008 21:22:16 +0000]
forcdeth: increase max_interrupt_work

This eliminates the following often-generated warning from my 64 bit
Opteron SMP test stand:

eth0: too many iterations (6) in nv_nic_irq

According to the web, the problem is that the forcedeth driver has a
too-low value for max_interrupt_work.  Grepping the kernel I see that
forcedeth has the second lowest value of all ethernet drivers (ie, 6).
Most are in the 20-40 range.  So this patch increases this a bit, from 6
to 15 (at 15 forcedeth becomes the driver with third-lowest
max_interrupt_work value).

My test stand, which used to print out the above warnings repetitively
whenever it was under heavy net load, no longer does so.

Signed-off-by: Joe Korty <joe.korty@ccur.com>
Cc: Ayaz Abdulla <aabdulla@nvidia.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoixgbe: add device support for 82598AT (copper 10GbE) adapters
Jesse Brandeburg [Fri, 31 Oct 2008 07:46:40 +0000]
ixgbe: add device support for 82598AT (copper 10GbE) adapters

Intel is currently shipping support for adapters with a phy
that does 10GBase-T (copper), which is 10 Gigabit ethernet
over standard Category 6 cabling.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoatlx: timer cleanup
Stephen Hemminger [Fri, 31 Oct 2008 23:52:04 +0000]
atlx: timer cleanup

Do some cleanup on timer usage in this driver:
  * Use round_jiffies to align wakeups and reduce power.
  * Remove atl1_watchdog which does nothing but rearm itself
  * Use setup_timer() function

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agoatlx: use embedded net_device_stats
Stephen Hemminger [Fri, 31 Oct 2008 23:52:03 +0000]
atlx: use embedded net_device_stats

There is now a net_device_stats structure inside net_device that should
be used if possible by devices. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

11 years agosch_netem: Replace ->requeue() method with open code
Jarek Poplawski [Sun, 2 Nov 2008 07:36:03 +0000]
sch_netem: Replace ->requeue() method with open code

After removing netem classful functionality we are sure its inner
qdisc is tfifo, so we can replace qdisc->ops->requeue() method with
open code. After this patch there are no more ops->requeue() users.

The idea of this patch is by Patrick McHardy.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agosch_netem: Remove classful functionality
Jarek Poplawski [Sun, 2 Nov 2008 07:35:24 +0000]
sch_netem: Remove classful functionality

Patrick McHardy noticed that: "a lot of the functionality of netem
requires the inner tfifo anyways and rate-limiting is usually done
on top of netem. So I would suggest so either hard-wire the tfifo
qdisc or at least make the assumption that inner qdiscs are
work-conserving.", and later: "- a lot of other qdiscs still don't
work as inner qdiscs of netem [...]".

So, according to his suggestion, this patch removes classful options
of netem. The main reason of this change is to remove ops->requeue()
method, which is currently used only by netem.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[TCP] CUBIC v2.3
Sangtae Ha [Wed, 29 Oct 2008 04:07:18 +0000]
[TCP] CUBIC v2.3

Signed-off-by: Sangtae Ha <sha2@ncsu.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoaf_unix: clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c
Jianjun Kong [Sun, 2 Nov 2008 04:38:31 +0000]
af_unix: clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c

clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c

Signed-off-by: Jianjun Kong <jianjun@zeuux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoudp: add a missing smp_wmb() in udp_lib_get_port()
Eric Dumazet [Sun, 2 Nov 2008 04:19:18 +0000]
udp: add a missing smp_wmb() in udp_lib_get_port()

Corey Minyard spotted a missing memory barrier in udp_lib_get_port()

We need to make sure a reader cannot read the new 'sk->sk_next' value
and previous value of 'sk->sk_hash'. Or else, an item could be deleted
from a chain, and inserted into another chain. If new chain was empty
before the move, 'next' pointer is NULL, and lockless reader can
not detect it missed following items in original chain.

This patch is temporary, since we expect an upcoming patch
to introduce another way of handling the problem.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoxfrm6: handling fragment
Nicolas Dichtel [Sun, 2 Nov 2008 04:12:07 +0000]
xfrm6: handling fragment

RFC4301 Section 7.1 says:

"7.1.  Tunnel Mode SAs that Carry Initial and Non-Initial Fragments

     All implementations MUST support tunnel mode SAs that are configured
     to pass traffic without regard to port field (or ICMP type/code or
     Mobility Header type) values.  If the SA will carry traffic for
     specified protocols, the selector set for the SA MUST specify the
     port fields (or ICMP type/code or Mobility Header type) as ANY.  An
     SA defined in this fashion will carry all traffic including initial
     and non-initial fragments for the indicated Local/Remote addresses
     and specified Next Layer protocol(s)."

But for IPv6, fragment is treated as a protocol.  This change catches
protocol transported in fragmented packet.  In IPv4, there is no
problem.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agomac80211: fix two kernel-doc warnings
Johannes Berg [Thu, 23 Oct 2008 06:51:20 +0000]
mac80211: fix two kernel-doc warnings

One parameter wasn't described and one I forgot to update when
renaming it; also update TBDs in sta_info.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: use ETH_P_PAE
Luis R. Rodriguez [Mon, 27 Oct 2008 17:17:29 +0000]
ath9k: use ETH_P_PAE

It was being discussed where we would put this, but now it found a home
so use its define.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: remove useless conditional
Bob Copeland [Sun, 26 Oct 2008 15:24:48 +0000]
ath9k: remove useless conditional

ath9k_hw_keyreset returns true in either branch.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoorinoco: cache downloadable firmware image in memory for use during resume
Andrey Borzenkov [Sun, 19 Oct 2008 08:06:11 +0000]
orinoco: cache downloadable firmware image in memory for use during resume

If card is using downloadable firmware (like Agere 9.x), firmware has
to be reloaded during resume. It is not possible to use request_firmware
for that, because tasks are still frozen, so request_firmware will
just timeout and fail. So cache firmware image in memory for later
reuse in ->resume method.

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoorinoco: reload firmware on resume
Andrey Borzenkov [Sun, 12 Oct 2008 16:15:43 +0000]
orinoco: reload firmware on resume

On resume card state is likely lost so we have to reload firmware
again.

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Acked-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath5k: Update interrupt masking code
Nick Kossifidis [Sun, 26 Oct 2008 18:40:25 +0000]
ath5k: Update interrupt masking code

*Properly get/set all available ISR/IMR values and review common/uncommon bits
*Better handling of per-txq interrupts (we can now resolve what q is generating
 each interrupt -this will help in debuging wme later)
*Some minor updates from legacy-hal
*Properly handle RXNOFRM and TXNOFRM interrupt masking (even when we don't set
 them on IMR they keep showing up, so we disable them by zeroing AR5K_RXNOFRM
 and AR5K_TXNOFRM registers). This doesn't exist on legacy-hal but i've tested
 it on various cards and it works fine.

Changes-Licensed-under: ISC
Signed-Off-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless regulatory: move ignore_request
Johannes Berg [Fri, 24 Oct 2008 18:32:23 +0000]
wireless regulatory: move ignore_request

This function is only used once, move it closer to its caller.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: clean up regulatory ignore_request function
Johannes Berg [Fri, 24 Oct 2008 18:32:22 +0000]
wireless: clean up regulatory ignore_request function

This function has a few WARNs that may eventually trigger
when an AP sends rogue beacons, those must be removed. Some
of the comments in the function are also inappropriate as
this function is concerned with the global hint, not a per-
wiphy thing (which a multidomain flag on a wiphy would imply).

I'm convinced that we don't need to do anything to implement
multi-domain capability as 802.11-2007 specifies it because
it makes only two things mandatory:
 * starting of BSS/IBSS must have country information
   (this can easily be done with a mac80211 patch)
 * a STA must adopt the country information (we already have
   the framework for this)

But we don't have anything implemented anyway for now.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: remove struct regdom hinting
Johannes Berg [Fri, 24 Oct 2008 18:32:21 +0000]
wireless: remove struct regdom hinting

The code needs to be split out and cleaned up, so as a
first step remove the capability, to add it back in a
subsequent patch as a separate function. Also remove the
publically facing return value of the function and the
wiphy argument. A number of internal functions go from
being generic helpers to just being used for alpha2
setting.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: make regdom passing semantics simpler
Johannes Berg [Fri, 24 Oct 2008 18:32:20 +0000]
wireless: make regdom passing semantics simpler

The regdom struct is given to the core, so it might as well
free it in error conditions.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: Update reclaim flag
Daniel Halperin [Fri, 24 Oct 2008 06:48:58 +0000]
iwlwifi: Update reclaim flag

The reclaim flag should include REPLY_RX_MPDU_CMD in the list of commands
issued by uCode. This is for safety in case the SEQ_RX_FRAME bit is set
incorrectly.

Signed-off-by: Daniel Halperin <daniel.c.halperin@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwl3945: iwl3945_mac_get_tsf() should not return zero
Fabrice Bellet [Fri, 24 Oct 2008 06:48:57 +0000]
iwl3945: iwl3945_mac_get_tsf() should not return zero

The problem fixed here is that iwl3945_mac_get_tsf() returns 0, as the
function is not implemented, and this is considered as a valid value by
the mac layer in mlme.c:1605. The consequence is that the STA in ad-hoc
mode is inserted/removed quite frequently due to IBSS merging.

This patch fixes :
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1781
and https://bugzilla.redhat.com/show_bug.cgi?id=459401

Signed-off-by: Fabrice Bellet <fabrice@bellet.info>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: run through spell checker
Tomas Winkler [Fri, 24 Oct 2008 06:48:56 +0000]
iwlwifi: run through spell checker

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: refactor tx byte count table usage
Tomas Winkler [Fri, 24 Oct 2008 06:48:55 +0000]
iwlwifi: refactor tx byte count table usage

This patch drops unreadable usage of IWL_SET/GET_BITS16 in byte count
tables handling
This patch also cleans a bit the byte count table code and adds
WARN_ON traps on invalid values

This patch is pure cleanup, no functional changes.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: clear scanning bits upon failure
Mohamed Abbas [Fri, 24 Oct 2008 06:48:54 +0000]
iwlwifi: clear scanning bits upon failure

In iwl_bg_request_scan function, if we could not send a
scan command it will go to done.
In done it does the right thing to call mac80211 with
scan complete, but the problem is STATUS_SCAN_HW is still
set causing any future scan to fail. Fix by clearing the scanning status
bits if scan fails.

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: convert correctly rate_n_flags to PLCP index for mimo3 packets
Daniel C. Halperin [Fri, 24 Oct 2008 06:48:53 +0000]
iwlwifi: convert correctly rate_n_flags to PLCP index for mimo3 packets

The driver does not properly convert rate_n_flags to PLCP index for mimo3
packets. This makes mac80211 drop the packets

Signed-off-by: Daniel C. Halperin <daniel.c.halperin@intel.com>
Reviewed-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: calibration command namespace renaming
Tomas Winkler [Fri, 24 Oct 2008 06:48:52 +0000]
iwlwifi: calibration command namespace renaming

Since calibration framework is not HW specific remove 5000 and 4965 prefix
This patch doesn't provide any functional changes only code renaming
and movement

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: parametrize eeprom versions
Tomas Winkler [Fri, 24 Oct 2008 06:48:51 +0000]
iwlwifi: parametrize eeprom versions

This patch uses new parameters eeprom_ver and eeprom_calib_ver
to support additional HW.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: don't update TFD free counter for invalid station
Tomas Winkler [Fri, 24 Oct 2008 06:48:50 +0000]
iwlwifi: don't update TFD free counter for invalid station

This patch makes sure that station table is not accessed
with invalid station id in 4965 TX response path

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: refactor TX response flow
Tomas Winkler [Fri, 24 Oct 2008 06:48:49 +0000]
iwlwifi: refactor TX response flow

This patch utilize 5000 new TX response command
which contains all necessary information and avoids
back referencing to the original TX frame.
It also change handling of software queue tracking
4965 flow is aligned with changes as much as possible.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: Re-enable aggregation
Sujith [Fri, 24 Oct 2008 04:25:27 +0000]
mac80211: Re-enable aggregation

Wireless HW without any dedicated queues for aggregation
do not need the ampdu_queues mechanism present right now
in mac80211. Since mac80211 is still incomplete wrt TX MQ
changes, do not allow aggregation sessions for drivers that
set ampdu_queues.

This is only an interim hack until Intel fixes the requeue issue.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: Luis Rodriguez <Luis.Rodriguez@Atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: allow all interfaces types to handle RX action frames
Andrey Yurovsky [Thu, 23 Oct 2008 20:10:53 +0000]
mac80211: allow all interfaces types to handle RX action frames

Eliminate the vif.type check in ieee80211_rx_h_action.  This check is
unnecessary (these action frames can be handled by all interface types) and
currently prevents, for example, AP interfaces from handling BACK action frames
such as ADDBA and DELBA requests.

Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: remove write-only 'granted' variable
Johannes Berg [Thu, 23 Oct 2008 07:40:01 +0000]
wireless: remove write-only 'granted' variable

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Check if the STA supports HT when initializing rate control
Sujith [Thu, 23 Oct 2008 06:45:19 +0000]
ath9k: Check if the STA supports HT when initializing rate control

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: Change WARN_ON to WARN_ON_ONCE
Sujith [Thu, 23 Oct 2008 06:44:02 +0000]
mac80211: Change WARN_ON to WARN_ON_ONCE

A warning would be printed for every packet that
is transmitted if the rate control information isn't
setup. Change this to WARN_ON_ONCE.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: Allow user to change tx power when asked
Luis R. Rodriguez [Wed, 22 Oct 2008 20:28:45 +0000]
ath9k: Allow user to change tx power when asked

We were also changing tx power even when we were not asked to,
this enforces the change only when we are asked nicely. When
not asked we simply try to use the max power, we don't tx power
at all for rate control.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: enable RX interrupt mitigation
Luis R. Rodriguez [Wed, 22 Oct 2008 20:28:44 +0000]
ath9k: enable RX interrupt mitigation

This enables hardware interrupt mitigation on RX.
It should alleviate system interrupt load intelligently.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath9k: remove pointless sc_txintrperiod and spin_lock_bh on tx prepare
Luis R. Rodriguez [Wed, 22 Oct 2008 20:28:43 +0000]
ath9k: remove pointless sc_txintrperiod and spin_lock_bh on tx prepare

sc_txintrperiod is currently set to 0 and never updated. We won't
be using this, if anything we will consider using TX interrupt
mitigation but that is different and not yet tested. So remove
sc_txintrperiod and the pointless spin_lock_bh() on tx prepare.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: make use of regulatory tx power settings on change of tx power
Luis R. Rodriguez [Wed, 22 Oct 2008 20:13:53 +0000]
mac80211: make use of regulatory tx power settings on change of tx power

We do not know what max power to allow until a device is targeting
a channel, therefore only allow changing tx power if a channel is defined.
Also make use of the channel's max power setting as defined by
regulatory rules before allowing the user to use the requested power
setting. If the user asked us to figure it out we use the max allowed
by regulatory.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: check return value of dev_alloc_skb() in ieee80211_sta_join_ibss().
Rami Rosen [Wed, 22 Oct 2008 07:58:39 +0000]
mac80211: check return value of dev_alloc_skb() in ieee80211_sta_join_ibss().

This patch add a check on the return value of dev_alloc_skb() in
ieee80211_sta_join_ibss() in net/mac80211/mlme.c.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: avoid some net/ieee80211.h vs. linux/ieee80211.h conflicts
John W. Linville [Wed, 1 Oct 2008 01:43:03 +0000]
wireless: avoid some net/ieee80211.h vs. linux/ieee80211.h conflicts

There is quite a lot of overlap in definitions between these headers...

Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: use individual buffers for printing ssid values
John W. Linville [Wed, 1 Oct 2008 00:59:05 +0000]
wireless: use individual buffers for printing ssid values

Also change escape_ssid to print_ssid to match print_mac semantics.

Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: escape_ssid should handle non-printables
John W. Linville [Tue, 30 Sep 2008 21:50:31 +0000]
wireless: escape_ssid should handle non-printables

Also use common backslash sequences like \t, \n, \r, and \\ as well as \0.

Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: remove NETWORK_EMPTY_ESSID flag
John W. Linville [Tue, 30 Sep 2008 21:17:26 +0000]
wireless: remove NETWORK_EMPTY_ESSID flag

It is unnecessary and of questionable value.  Also remove
is_empty_ssid, as it is also unnecessary.

Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: consolidate on a single escape_essid implementation
John W. Linville [Wed, 24 Sep 2008 22:13:14 +0000]
wireless: consolidate on a single escape_essid implementation

Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: insert AP sta entry after filling it
Johannes Berg [Wed, 22 Oct 2008 09:41:38 +0000]
mac80211: insert AP sta entry after filling it

We never clearly defined the semantics of the sta_notify callback
and it was originally posted for iwlwifi which still doesn't use
it at all. With the recent HT rework ath9k started relying on it,
but I made a mistake there in that I made ath9k assume the HT
information has already been filled in at sta_notify time. This
isn't a hard thing to do, so do it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoFix debugfs_create_*'s error checking method for wireless/rt2x00/
Zhaolei [Wed, 22 Oct 2008 09:07:25 +0000]
Fix debugfs_create_*'s error checking method for wireless/rt2x00/

debugfs_create_*() returns NULL if an error occurs, returns -ENODEV
when debugfs is not enabled in the kernel.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoFix debugfs_create_bool's error checking method for wireless/iwlwifi/
Zhaolei [Wed, 22 Oct 2008 09:06:12 +0000]
Fix debugfs_create_bool's error checking method for wireless/iwlwifi/

debugfs_create_bool() returns NULL if an error occurs, returns -ENODEV
when debugfs is not enabled in the kernel.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: fix EU check
Johannes Berg [Tue, 21 Oct 2008 09:08:27 +0000]
wireless: fix EU check

http://en.wikipedia.org/wiki/De_Morgan%27s_laws is useful.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: get rid of pointless request list
Johannes Berg [Tue, 21 Oct 2008 09:01:33 +0000]
wireless: get rid of pointless request list

We really only need to know the last request at each point in time.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: remove cfg80211_reg_mutex
Johannes Berg [Tue, 21 Oct 2008 07:57:41 +0000]
wireless: remove cfg80211_reg_mutex

This mutex is wrong, we use cfg80211_drv_mutex (which should
possibly be renamed to just cfg80211_mutex) everywhere except
in one place, fix that and get rid of the extra mutex.

Also get rid of a spurious regulatory_requests list definition.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowireless: don't publish __regulatory_hint
Johannes Berg [Tue, 21 Oct 2008 07:42:38 +0000]
wireless: don't publish __regulatory_hint

This function requires an internal lock to be held, so it cannot
be published to other modules in the kernel.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: fix a few typos in mac80211 kernel doc
Bob Copeland [Tue, 21 Oct 2008 01:20:27 +0000]
mac80211: fix a few typos in mac80211 kernel doc

Correct a handful of errors found while reading the mac80211 book.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agort2x00: reduce checkpatch.pl errors
John Daiker [Fri, 17 Oct 2008 19:16:17 +0000]
rt2x00: reduce checkpatch.pl errors

A few changes to reduce checkpatch.pl errors in the rt2x00 driver.  For
the most part, I only fixed cosmetic things, and left the actual 'code
flow' untouched (hopefully)!

Diff is against wireless-testing HEAD.

Signed-off-by: John Daiker <daikerjohn@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoath5k: reduce checkpatch.pl errors
John Daiker [Fri, 17 Oct 2008 19:16:00 +0000]
ath5k: reduce checkpatch.pl errors

A few changes to reduce checkpatch.pl errors in the ath5k driver.  For
the most part, I only fixed cosmetic things, and left the actual 'code
flow' untouched (hopefully)!

Diff is against wireless-testing HEAD.

Signed-off-by: John Daiker <daikerjohn@gmail.com>
Reviewed-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoAdd nl80211 commands to get and set o11s mesh networking parameters
colin@cozybit.com [Tue, 21 Oct 2008 19:03:48 +0000]
Add nl80211 commands to get and set o11s mesh networking parameters

The two new commands are NL80211_CMD_GET_MESH_PARAMS and
NL80211_CMD_SET_MESH_PARAMS. There is a new attribute enum,
NL80211_ATTR_MESH_PARAMS, which enumerates the various mesh configuration
parameters.

Moved struct mesh_config from mac80211/ieee80211_i.h to net/cfg80211.h.
nl80211_get_mesh_params and nl80211_set_mesh_params unpack the netlink messages
and ask the driver to get or set the configuration.  This is done via two new
function stubs, get_mesh_params and set_mesh_params, in struct cfg80211_ops.

Signed-off-by: Colin McCabe <colin@cozybit.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: inform userspace of probe/auth/assoc timeout
Johannes Berg [Thu, 16 Oct 2008 19:44:44 +0000]
mac80211: inform userspace of probe/auth/assoc timeout

I noticed that when for some reason [1] the probe or auth times
out, wpa_supplicant doesn't realise this and only tries the next
AP when it runs into its own timeout, which is ten seconds, and
that's quite long. Fix this by making mac80211 notify userspace
that it didn't associate.

[1] my wrt350n in mixed B/G/HT mode often runs into this, maybe
it's because one of the antennas is broken off and for whatever
reason it decides to use that antenna to transmit the response
frames (auth, probe); I do see beacons fine so it's not totally
broken. Works fine in pure-G mode.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agohostap: Fix sparse warnings
Larry Finger [Thu, 16 Oct 2008 23:44:03 +0000]
hostap: Fix sparse warnings

A compilation with the command "make C=2 CF="-D__CHECK_ENDIAN__" \
                                drivers/net/wireless/hostap/"

 yields the following warnings:

  CHECK   drivers/net/wireless/hostap/hostap_info.c
drivers/net/wireless/hostap/hostap_info.c:156:43: warning: incorrect type in
argument 2 (different signedness)
drivers/net/wireless/hostap/hostap_info.c:156:43:    expected unsigned long
volatile *addr
drivers/net/wireless/hostap/hostap_info.c:156:43:    got long *<noident>
drivers/net/wireless/hostap/hostap_info.c:294:44: warning: incorrect type in
argument 2 (different signedness)
drivers/net/wireless/hostap/hostap_info.c:294:44:    expected unsigned long
volatile *addr
drivers/net/wireless/hostap/hostap_info.c:294:44:    got long *<noident>
drivers/net/wireless/hostap/hostap_info.c:487:12: warning: incorrect type in
argument 2 (different signedness)
drivers/net/wireless/hostap/hostap_info.c:487:12:    expected unsigned long
volatile *addr
drivers/net/wireless/hostap/hostap_info.c:487:12:    got long *<noident>
drivers/net/wireless/hostap/hostap_info.c:491:12: warning: incorrect type in
argument 2 (different signedness)
drivers/net/wireless/hostap/hostap_info.c:491:12:    expected unsigned long
volatile *addr
drivers/net/wireless/hostap/hostap_info.c:491:12:    got long *<noident>

The warnings are fixed with the following compile-tested fix:

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: remove rate_control_clear
Johannes Berg [Thu, 16 Oct 2008 09:21:49 +0000]
mac80211: remove rate_control_clear

"Clearing" the rate control algorithm is pointless, none of
the algorithms actually uses this operation and it's not even
invoked properly for all channel switching. Also, there's no
need to since rate control algorithms work per station.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: protect headers from double inclusion
Tomas Winkler [Wed, 15 Oct 2008 18:06:23 +0000]
iwlwifi: protect headers from double inclusion

This patch protects iwl-csr.h and iwl-fh.h from double inclusion
by ifndef define endif idiom

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agominstrel: improve performance for non-MRR drivers
Felix Fietkau [Wed, 15 Oct 2008 17:13:59 +0000]
minstrel: improve performance for non-MRR drivers

This patch enhances minstrel's performance for non-MRR setups,
by preventing it from sampling slower rates with >95% success
probability and by putting at least 1 non-sample frame between
several sample frames.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>