GitHub/mt8127/android_kernel_alcatel_ttab.git
17 years agoPHYLIB: IRQ event workqueue handling fixes
Maciej W. Rozycki [Sat, 29 Sep 2007 05:42:14 +0000 (22:42 -0700)]
PHYLIB: IRQ event workqueue handling fixes

Keep track of disable_irq_nosync() invocations and call enable_irq() the
right number of times if work has been cancelled that would include them.

Now that the call to flush_work_keventd() (problematic because of
rtnl_mutex being held) has been replaced by cancel_work_sync() another
issue has arisen and been left unresolved.  As the MDIO bus cannot be
accessed from the interrupt context the PHY interrupt handler uses
disable_irq_nosync() to prevent from looping and schedules some work to be
done as a softirq, which, apart from handling the state change of the
originating PHY, is responsible for reenabling the interrupt.  Now if the
interrupt line is shared by another device and a call to the softirq
handler has been cancelled, that call to enable_irq() never happens and the
other device cannot use its interrupt anymore as its stuck disabled.

I decided to use a counter rather than a flag because there may be more
than one call to phy_change() cancelled in the queue -- a real one and a
fake one triggered by free_irq() if DEBUG_SHIRQ is used, if nothing else.
Therefore because of its nesting property enable_irq() has to be called the
right number of times to match the number disable_irq_nosync() was called
and restore the original state.  This DEBUG_SHIRQ feature is also the
reason why free_irq() has to be called before cancel_work_sync().

While at it I updated the comment about phy_stop_interrupts() being called
from `keventd' -- this is no longer relevant as the use of
cancel_work_sync() makes such an approach unnecessary.  OTOH a similar
comment referring to flush_scheduled_work() in phy_stop() still applies as
using cancel_work_sync() there would be dangerous.

Checked with checkpatch.pl and at the run time (with and without
DEBUG_SHIRQ).

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Andy Fleming <afleming@freescale.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoforcedeth: "no link" is informational
Ed Swierk [Sat, 29 Sep 2007 05:42:13 +0000 (22:42 -0700)]
forcedeth: "no link" is informational

Log "no link during initialization" at KERN_INFO as it's not an error, and
occurs every time the interface comes up (when the forcedeth-phy-power-down
patch is applied).

Signed-off-by: Ed Swierk <eswierk@arastra.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 <jeff@garzik.org>
17 years agoPHYLIB: Spinlock fixes for softirqs
Maciej W. Rozycki [Sat, 29 Sep 2007 05:42:12 +0000 (22:42 -0700)]
PHYLIB: Spinlock fixes for softirqs

Use spin_lock_bh()/spin_unlock_bh() for the phydev lock throughout as it
is used in phy_timer() that is called as a softirq and all the other
operations may happen in the user context.

There has been a change recently that did such a conversion for some of the
operations on the lock, but some have been left intact.  Many of them,
perhaps all, may be called in the user context and I was able to trigger
recursive spinlock acquisition indeed, so I think for the sake of long-term
maintenance it is best to convert them all, even if unnecessarily for one
or two -- better safe than sorry.

Perhaps one in phy_timer() could actually be skipped as only called as a
softirq -- I can send an update if that sounds like a good idea.

Checked with checkpatch.pl and at the runtime.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoFix a potential NULL pointer dereference in uli526x_interrupt() in drivers/net/tulip...
Micah Gruber [Sat, 29 Sep 2007 05:42:11 +0000 (22:42 -0700)]
Fix a potential NULL pointer dereference in uli526x_interrupt() in drivers/net/tulip/uli526x.c

This patch fixes an apparent potential null dereference bug where we
dereference dev before a null check.  This patch simply remvoes the
can't-happen test for a null pointer.

Signed-off-by: Micah Gruber <micah.gruber@gmail.com>
Cc: Grant Grundler <grundler@parisc-linux.org>
Acked-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoskge: remove broken and unused PHY_M_PC_MDI_XMODE macro
Mariusz Kozlowski [Sat, 29 Sep 2007 05:42:10 +0000 (22:42 -0700)]
skge: remove broken and unused PHY_M_PC_MDI_XMODE macro

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoAvoid possible NULL pointer deref in 3c359 driver
Jesper Juhl [Sat, 29 Sep 2007 05:42:09 +0000 (22:42 -0700)]
Avoid possible NULL pointer deref in 3c359 driver

In xl_freemem(), if dev_if is NULL, the line

  struct xl_private *xl_priv =(struct xl_private *)dev->priv;

will cause a NULL pointer dereference.

(akpm: don't try to fix it: just delete the pointless test-for-null)

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agodrivers/net/cxgb3/xgmac.c: remove dead code
Adrian Bunk [Sat, 29 Sep 2007 05:42:06 +0000 (22:42 -0700)]
drivers/net/cxgb3/xgmac.c: remove dead code

This patch removes dead code ("tx_xcnt" can never be != 0 at this place)
spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoPCI-X/PCI-Express read control interfaces: use them in e1000
Peter Oruba [Sat, 29 Sep 2007 05:42:06 +0000 (22:42 -0700)]
PCI-X/PCI-Express read control interfaces: use them in e1000

These driver changes incorporate the proposed PCI-X / PCI-Express read byte
count interface.  Reading and setting those valuse doesn't take place
"manually", instead wrapping functions are called to allow quirks for some
PCI bridges.

Signed-off by: Peter Oruba <peter.oruba@amd.com>
Based on work by Stephen Hemminger <shemminger@linux-foundation.org>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoPHY fixed driver: rework release path and update phy_id notation
Vitaly Bordug [Fri, 10 Aug 2007 21:05:16 +0000 (14:05 -0700)]
PHY fixed driver: rework release path and update phy_id notation

device_bind_driver() error code returning has been fixed.  release()
function has been written, so that to free resources in correct way; the
release path is now clean.

Before the rework, it used to cause
 Device 'fixed@100:1' does not have a release() function, it is broken
 and must be fixed.
 BUG: at drivers/base/core.c:104 device_release()

 Call Trace:
  [<ffffffff802ec380>] kobject_cleanup+0x53/0x7e
  [<ffffffff802ec3ab>] kobject_release+0x0/0x9
  [<ffffffff802ecf3f>] kref_put+0x74/0x81
  [<ffffffff8035493b>] fixed_mdio_register_device+0x230/0x265
  [<ffffffff80564d31>] fixed_init+0x1f/0x35
  [<ffffffff802071a4>] init+0x147/0x2fb
  [<ffffffff80223b6e>] schedule_tail+0x36/0x92
  [<ffffffff8020a678>] child_rip+0xa/0x12
  [<ffffffff80311714>] acpi_ds_init_one_object+0x0/0x83
  [<ffffffff8020705d>] init+0x0/0x2fb
  [<ffffffff8020a66e>] child_rip+0x0/0x12

Also changed the notation of the fixed phy definition on
mdio bus to the form of <speed>+<duplex> to make it able to be used by
gianfar and ucc_geth that define phy_id strictly as "%d:%d" and cleaned up
the whitespace issues.

Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoatl1: explain 32-bit DMA restriction
Chris Snook [Thu, 20 Sep 2007 19:57:15 +0000 (15:57 -0400)]
atl1: explain 32-bit DMA restriction

Document the fact that atl1 uses a single shared register for the high 32
bits of 64-bit DMA addresses, making 64-bit DMA more trouble than it's worth.

Signed-off-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agovia-velocity: more cleanup
Stephen Hemminger [Fri, 24 Aug 2007 21:40:45 +0000 (14:40 -0700)]
via-velocity: more cleanup

Per Al's suggestion, get rid of the stupid stuff:
Remove cam_type switch,
And deinline things that aren't important for speed.
And make big macro and inline.
And remove some dead/unused code.
And use const char * for chip name.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agovia-velocity: use standard VLAN interface (resend)
Stephen Hemminger [Fri, 24 Aug 2007 20:56:49 +0000 (13:56 -0700)]
via-velocity: use standard VLAN interface (resend)

The via-velocity is using a non-standard VLAN interface configured
via module parameters (yuck).

Replace with the standard acceleration interface.
It solves a number of problems with being able to handle multiple
vlans, and dynamically reconfigure.

This is compile tested only, don't have this board.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosb1250-mac: Driver model & phylib update
Maciej W. Rozycki [Fri, 21 Sep 2007 11:52:10 +0000 (12:52 +0100)]
sb1250-mac: Driver model & phylib update

 A driver model and phylib update.  It includes the following changes:

1. Removal of unused module options.

2. Phylib support and the resulting removal of generic bits for handling
   the PHY.

3. Proper reserving of device resources and using ioremap()ped handles
   to access MAC registers rather than platform-specific macros.

4. Handling of the device using the driver model.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosb1250-mac.c: De-typedef, de-volatile, de-etc...
Maciej W. Rozycki [Thu, 20 Sep 2007 18:14:01 +0000 (19:14 +0100)]
sb1250-mac.c: De-typedef, de-volatile, de-etc...

 Remove typedefs, volatiles and convert kmalloc()/memset() pairs to
kcalloc().  Also reformat the surrounding clutter.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[netdrvr] sundance: fix phy scanning on IP100A
Jeff Garzik [Sat, 29 Sep 2007 05:10:14 +0000 (01:10 -0400)]
[netdrvr] sundance: fix phy scanning on IP100A

Based on a based from Jesse Huang <jesse@icplus.com.tw>.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoe1000e: Do not allow requeue of freed skb
Krishna Kumar [Fri, 21 Sep 2007 16:41:15 +0000 (09:41 -0700)]
e1000e: Do not allow requeue of freed skb

Returning BUSY will make qdisc_restart enqueue the skb which was already
freed. The bad skb was correctly freed and we should return NETDEV_TX_OK.

First spotted by Jeff Garzik on 08/13/07.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoClean up redundant PHY write line for ULi526x Ethernet driver
Roy Zang [Mon, 24 Sep 2007 08:57:42 +0000 (16:57 +0800)]
Clean up redundant PHY write line for ULi526x Ethernet driver

Clean up redundant PHY write line for ULi526x Ethernet
Driver.

Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agodgrs: remove from build, config, and maintainer list
Nathanael Nerode [Thu, 27 Sep 2007 01:14:45 +0000 (18:14 -0700)]
dgrs: remove from build, config, and maintainer list

Stop building and configuring driver for Digi RightSwitch, which was
never actually sold to anyone, and remove it from MAINTAINERS.

In response to an investigation into the firmware of the "Digi Rightswitch"
driver, Andres Salomon discovered:
>
> Dear Andres:
>
> After further research, we found that this product was killed in place
> and never reached the market.  We would like to request that this not be
> included.

Since the product never reached market, clearly nobody is using this orphaned
driver.

Signed-off-by: Nathanael Nerode <neroden@gcc.gnu.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: pass in count of buffers to replenish rx ring with
Olof Johansson [Wed, 26 Sep 2007 21:25:06 +0000 (16:25 -0500)]
pasemi_mac: pass in count of buffers to replenish rx ring with

pasemi_mac: pass in count of buffers to replenish rx ring with

Refactor replenish_rx_ring to take an argument for how many entries to
fill. Since it's normally available from where it's called anyway, this
is just simpler. It also removes the awkward logic to try to figure out
if we're filling for the first time or not.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: don't enable rx before there are buffers on the ring
Olof Johansson [Wed, 26 Sep 2007 21:24:42 +0000 (16:24 -0500)]
pasemi_mac: don't enable rx before there are buffers on the ring

pasemi_mac: don't enable rx before there are buffers on the ring

Reorder initialization of the DMA channels and the interface. Before there
was a time window when the interface was enabled before DMA was enabled.
Also, now there will always be RX buffers available at the time the
MAC interface is enabled, to avoid temporary out-of-buffer errors for the
very first packets (on busy networks).

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: flags as passed to spin_*_irqsave() should be unsigned long
Olof Johansson [Wed, 26 Sep 2007 21:23:59 +0000 (16:23 -0500)]
pasemi_mac: flags as passed to spin_*_irqsave() should be unsigned long

pasemi_mac: flags as passed to spin_*_irqsave() should be unsigned long.

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: set interface speed correctly on XAUI ports
Olof Johansson [Wed, 26 Sep 2007 21:23:31 +0000 (16:23 -0500)]
pasemi_mac: set interface speed correctly on XAUI ports

pasemi_mac: set interface speed correctly on XAUI ports

Set interface speed for XAUI to 10G per default, not 1G.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[IPoIB]: Convert to netdevice internal stats
Roland Dreier [Fri, 28 Sep 2007 22:33:51 +0000 (15:33 -0700)]
[IPoIB]: Convert to netdevice internal stats

Use the stats member of struct netdevice in IPoIB, so we can save
memory by deleting the stats member of struct ipoib_dev_priv, and save
code by deleting ipoib_get_stats().

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: bridge: remove broken netfilter binary sysctls
Joseph Fannin [Fri, 28 Sep 2007 21:47:32 +0000 (14:47 -0700)]
[NETFILTER]: bridge: remove broken netfilter binary sysctls

The netfilter sysctls in the bridging code don't set strategy routines:

 sysctl table check failed: /net/bridge/bridge-nf-call-arptables .3.10.1 Missing strategy
 sysctl table check failed: /net/bridge/bridge-nf-call-iptables .3.10.2 Missing strategy
 sysctl table check failed: /net/bridge/bridge-nf-call-ip6tables .3.10.3 Missing strategy
 sysctl table check failed: /net/bridge/bridge-nf-filter-vlan-tagged .3.10.4 Missing strategy
 sysctl table check failed: /net/bridge/bridge-nf-filter-pppoe-tagged .3.10.5 Missing strategy

    These binary sysctls can't work. The binary sysctl numbers of
other netfilter sysctls with this problem are being removed.  These
need to go as well.

Signed-off-by: Joseph Fannin <jfannin@gmail.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: x_tables: add xt_time match
Jan Engelhardt [Fri, 28 Sep 2007 21:46:43 +0000 (14:46 -0700)]
[NETFILTER]: x_tables: add xt_time match

This is ipt_time from POM-ng enhanced by the following:

 * xtables/ipv6 support
 * second granularity for daytime
 * day-of-month support (for example "match on the 15th of each month")
 * match against UTC or local timezone

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink_log: fix some constants
Michal Miroslaw [Fri, 28 Sep 2007 21:45:52 +0000 (14:45 -0700)]
[NETFILTER]: nfnetlink_log: fix some constants

Fix timeout (one second is 1 * HZ) and convert max packet copy length
to #defined constant.

Signed-off-by: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink_log: fix instance_create() failure path
Michal Miroslaw [Fri, 28 Sep 2007 21:45:27 +0000 (14:45 -0700)]
[NETFILTER]: nfnetlink_log: fix instance_create() failure path

Fix memory leak on instance_create() while module is being unloaded.

Signed-off-by: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink_log: fix style
Michal Miroslaw [Fri, 28 Sep 2007 21:45:06 +0000 (14:45 -0700)]
[NETFILTER]: nfnetlink_log: fix style

Fix function definition style to match other functions in nfnetlink_log.c.

Signed-off-by: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink_log: flush queue early
Michal Miroslaw [Fri, 28 Sep 2007 21:44:44 +0000 (14:44 -0700)]
[NETFILTER]: nfnetlink_log: flush queue early

If queue is filled to its threshold, then flush it right away instead
of waiting for timer or next packet.

Signed-off-by: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink_log: kill duplicate code
Michal Miroslaw [Fri, 28 Sep 2007 21:44:21 +0000 (14:44 -0700)]
[NETFILTER]: nfnetlink_log: kill duplicate code

Kill some cut'n'paste effect.
Just after __nfulnl_send() returning, inst->skb is always NULL.

Signed-off-by: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack_netlink: add support to related connections
Pablo Neira Ayuso [Fri, 28 Sep 2007 21:43:53 +0000 (14:43 -0700)]
[NETFILTER]: nf_conntrack_netlink: add support to related connections

This patch adds support to relate a connection to an existing master
connection. This patch is used by conntrackd to correctly replicate
related connections.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack_expect: kill unique ID
Patrick McHardy [Fri, 28 Sep 2007 21:41:50 +0000 (14:41 -0700)]
[NETFILTER]: nf_conntrack_expect: kill unique ID

Similar to the conntrack ID, the per-expectation ID is not needed
anymore, kill it.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack: kill unique ID
Patrick McHardy [Fri, 28 Sep 2007 21:41:27 +0000 (14:41 -0700)]
[NETFILTER]: nf_conntrack: kill unique ID

Remove the per-conntrack ID, its not necessary anymore for dumping.
For compatiblity reasons we send the address of the conntrack to
userspace as ID.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink: kill nlattr_bad_size
Patrick McHardy [Fri, 28 Sep 2007 21:40:56 +0000 (14:40 -0700)]
[NETFILTER]: nfnetlink: kill nlattr_bad_size

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ctnetlink: use netlink policy
Patrick McHardy [Fri, 28 Sep 2007 21:39:55 +0000 (14:39 -0700)]
[NETFILTER]: ctnetlink: use netlink policy

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink_queue: use netlink policy
Patrick McHardy [Fri, 28 Sep 2007 21:39:26 +0000 (14:39 -0700)]
[NETFILTER]: nfnetlink_queue: use netlink policy

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink_log: use netlink policy
Patrick McHardy [Fri, 28 Sep 2007 21:39:09 +0000 (14:39 -0700)]
[NETFILTER]: nfnetlink_log: use netlink policy

Also remove unused nfula_min array.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink: support attribute policies
Patrick McHardy [Fri, 28 Sep 2007 21:38:52 +0000 (14:38 -0700)]
[NETFILTER]: nfnetlink: support attribute policies

Add support for automatic checking of per-callback attribute policies.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink: use nlmsg_notify()
Patrick McHardy [Fri, 28 Sep 2007 21:38:07 +0000 (14:38 -0700)]
[NETFILTER]: nfnetlink: use nlmsg_notify()

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink: rename functions containing 'nfattr'
Patrick McHardy [Fri, 28 Sep 2007 21:37:41 +0000 (14:37 -0700)]
[NETFILTER]: nfnetlink: rename functions containing 'nfattr'

There is no struct nfattr anymore, rename functions to 'nlattr'.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink: convert to generic netlink attribute functions
Patrick McHardy [Fri, 28 Sep 2007 21:37:03 +0000 (14:37 -0700)]
[NETFILTER]: nfnetlink: convert to generic netlink attribute functions

Get rid of the duplicated rtnetlink macros and use the generic netlink
attribute functions. The old duplicated stuff is moved to a new header
file that exists just for userspace.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nfnetlink: make subsystem and callbacks const
Patrick McHardy [Fri, 28 Sep 2007 21:15:45 +0000 (14:15 -0700)]
[NETFILTER]: nfnetlink: make subsystem and callbacks const

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETNS]: CLONE_NEWNET don't use the same clone flag as the pid namespace.
Eric W. Biederman [Fri, 28 Sep 2007 00:10:06 +0000 (17:10 -0700)]
[NETNS]: CLONE_NEWNET don't use the same clone flag as the pid namespace.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Bring comments in loopback.c uptodate.
Eric W. Biederman [Fri, 28 Sep 2007 00:09:39 +0000 (17:09 -0700)]
[NET]: Bring comments in loopback.c uptodate.

A hint as to why it is safe to use per cpu variables,
and note that we actually can have multiple instances
of the loopback device now.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[RFKILL]: Move rfkill_switch_all out of global header
Ivo van Doorn [Thu, 27 Sep 2007 21:57:05 +0000 (14:57 -0700)]
[RFKILL]: Move rfkill_switch_all out of global header

rfkill_switch_all shouldn't be called by drivers directly,
instead they should send a signal over the input device.

To prevent confusion for driver developers, move the
function into a rfkill private header.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PATCH] iwlwifi: fix imcomplete conversion to print_mac API
John W. Linville [Thu, 27 Sep 2007 21:00:29 +0000 (17:00 -0400)]
[PATCH] iwlwifi: fix imcomplete conversion to print_mac API

Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] iwlwifi: Update iwlwifi version stamp to 1.1.17
Zhu Yi [Thu, 27 Sep 2007 03:27:44 +0000 (11:27 +0800)]
[PATCH] iwlwifi: Update iwlwifi version stamp to 1.1.17

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] iwlwifi: add debugfs rate scale stats
Zhu Yi [Thu, 27 Sep 2007 03:27:43 +0000 (11:27 +0800)]
[PATCH] iwlwifi: add debugfs rate scale stats

This patch adds rates scale statistics to debugfs:
$ cat /sys/kernel/debug/ieee80211/phy<X>/stations/<mac>/rate_stats_table

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>
17 years ago[PATCH] iwlwifi: set fixed rate through debugfs
Zhu Yi [Thu, 27 Sep 2007 03:27:42 +0000 (11:27 +0800)]
[PATCH] iwlwifi: set fixed rate through debugfs

This patch adds fixed rate setting through debugfs

$ echo <rate_n_flags> > \
/sys/kernel/debug/ieee80211/phy<X>/stations/<mac>/rate_scale_table

Currently there is no way to turn to rate scaling working again.
Will be fixed in later.

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>
17 years ago[PATCH] iwlwifi: rs_rate_scale_perform clean up
Zhu Yi [Thu, 27 Sep 2007 03:27:41 +0000 (11:27 +0800)]
[PATCH] iwlwifi: rs_rate_scale_perform clean up

This patch cleans up rs_rate_scale_perform function. It removes dead
code, shortens variable names and removes useless return i.e. function
now returns void.

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>
17 years ago[PATCH] iwlwifi: add supp_rates to rate scale sta private data
Zhu Yi [Thu, 27 Sep 2007 03:27:40 +0000 (11:27 +0800)]
[PATCH] iwlwifi: add supp_rates to rate scale sta private data

This patch adds supp_rate bit mask to rate scale sta private data structre
and thus removes sta from the argument list in helper functions.

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>
17 years ago[PATCH] iwlwifi: limit printouts on hot path
Zhu Yi [Thu, 27 Sep 2007 03:27:39 +0000 (11:27 +0800)]
[PATCH] iwlwifi: limit printouts on hot path

This patch change printouts on TX path to the net_ratelimit version.

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>
17 years ago[PATCH] iwlwifi: add read rate scale table debugfs function
Zhu Yi [Thu, 27 Sep 2007 03:27:38 +0000 (11:27 +0800)]
[PATCH] iwlwifi: add read rate scale table debugfs function

This patch adds read rate scale table debugfs function for 4965
rate scaling 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>
17 years ago[PATCH] iwlwifi: add debugfs framework to rate scale
Zhu Yi [Thu, 27 Sep 2007 03:27:37 +0000 (11:27 +0800)]
[PATCH] iwlwifi: add debugfs framework to rate scale

This patch adds debugfs handler to rate scale algorithms.

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>
17 years ago[PATCH] iwlwifi: removing unnecessary memset in 4965 rate scale
Zhu Yi [Thu, 27 Sep 2007 03:27:36 +0000 (11:27 +0800)]
[PATCH] iwlwifi: removing unnecessary memset in 4965 rate scale

This patch removes redundant memset in rate scale. In rs_alloc_sta,
kzalloc is used so the memset can be avoided. In rs_rate_init, it is
a bug fix since it overrides everything set in other handlers namely
add_debugfs.

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>
17 years ago[PATCH] iwlwifi: fix add_station to avoid FW error
Zhu Yi [Thu, 27 Sep 2007 03:27:35 +0000 (11:27 +0800)]
[PATCH] iwlwifi: fix add_station to avoid FW error

There were a few Firmware errors reported the most reproducible
http://bughost.org/bugzilla/show_bug.cgi?id=1471

The root cause is rate_n_flags isn't set anymore. This patch fixes
the problem.

Signed-off-by: Ian Schram <ischram@telenet.be>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] iwlwifi: Fix typo in rate sacling algorithm
Zhu Yi [Thu, 27 Sep 2007 03:27:34 +0000 (11:27 +0800)]
[PATCH] iwlwifi: Fix typo in rate sacling algorithm

This patch fixes tiny typo in 4965 rate sacling algorithm

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] iwlwifi: clear station table in rxon unconditionally
Zhu Yi [Thu, 27 Sep 2007 03:27:33 +0000 (11:27 +0800)]
[PATCH] iwlwifi: clear station table in rxon unconditionally

This patch clears stations table for every rxon command.
It removes iwl_rxon_add_station function in 3945.

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>
17 years ago[PATCH] iwlwifi: Correction for sending beacon in config_ap
Zhu Yi [Thu, 27 Sep 2007 03:27:32 +0000 (11:27 +0800)]
[PATCH] iwlwifi: Correction for sending beacon in config_ap

This patch takes out sending beacon from conditional in
config_ap function.

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>
17 years ago[PATCH] iwlwifi: workaournd REPLY_COMPRESSED_BA command in iwl_rx_handle
Zhu Yi [Thu, 27 Sep 2007 03:27:31 +0000 (11:27 +0800)]
[PATCH] iwlwifi: workaournd REPLY_COMPRESSED_BA command in iwl_rx_handle

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] iwlwifi: replacing IPW with IWL in error messages
Zhu Yi [Thu, 27 Sep 2007 03:27:30 +0000 (11:27 +0800)]
[PATCH] iwlwifi: replacing IPW with IWL in error messages

This patch repaces IPW with IWL in error messages.

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>
17 years ago[PATCH] rfkill: Fix documentation typos
Michael Buesch [Thu, 27 Sep 2007 12:42:42 +0000 (14:42 +0200)]
[PATCH] rfkill: Fix documentation typos

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: bss_tim_clear must use ~ instead of !
Michael Buesch [Wed, 26 Sep 2007 19:08:47 +0000 (21:08 +0200)]
[PATCH] mac80211: bss_tim_clear must use ~ instead of !

We need to use bitwise NOT.
This also cleans up the code a little bit to make it more readable.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: remove generic IE for AP interfaces
Johannes Berg [Wed, 26 Sep 2007 13:19:50 +0000 (15:19 +0200)]
[PATCH] mac80211: remove generic IE for AP interfaces

This is not useful since we do not support probe response
offload to hardware at this time and beacons are set in
another way.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: remove all prism2 ioctls
Johannes Berg [Wed, 26 Sep 2007 13:19:48 +0000 (15:19 +0200)]
[PATCH] mac80211: remove all prism2 ioctls

This patch removes all prism2 ioctls.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: fix iff_promiscs, iff_allmultis race
Johannes Berg [Wed, 26 Sep 2007 13:19:47 +0000 (15:19 +0200)]
[PATCH] mac80211: fix iff_promiscs, iff_allmultis race

When we update the counters iff_promiscs and iff_allmultis
in struct ieee80211_local we have no common lock held to
protect them. The problem is that the update to each counter
may not be atomic, so we could end up with iff_promiscs == -1
in unfortunate conditions. To fix it, use atomic_t values.
It doesn't matter whether the two counters are updated
together atomically or not, if there are two invocations
of set_multicast_list we will end up with multiple
configure_filter() invocations of which the latter will always
be correct.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: fix TKIP IV update
Johannes Berg [Wed, 26 Sep 2007 13:19:45 +0000 (15:19 +0200)]
[PATCH] mac80211: fix TKIP IV update

The TKIP IV should be updated only after MMIC verification,
this patch changes it to be at that spot.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: fix vlan bug
Johannes Berg [Wed, 26 Sep 2007 13:19:43 +0000 (15:19 +0200)]
[PATCH] mac80211: fix vlan bug

VLAN interfaces have yet another bug: they aren't accounted
for properly in the receive path in prepare_for_handlers().
I noticed this by code inspection, but it would be easy for
the compiler to catch such things if we'd just use the proper
enum where appropriate.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: remove ieee80211_wep_get_keyidx
Johannes Berg [Wed, 26 Sep 2007 13:19:42 +0000 (15:19 +0200)]
[PATCH] mac80211: remove ieee80211_wep_get_keyidx

This function is not used any more.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: consolidate encryption
Johannes Berg [Wed, 26 Sep 2007 13:19:41 +0000 (15:19 +0200)]
[PATCH] mac80211: consolidate encryption

Currently we run through all crypto handlers for each transmitted
frame although we already know which one will be used. This
changes the code to invoke only the needed handler. It also moves
the wep code into wep.c.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: consolidate decryption
Johannes Berg [Wed, 26 Sep 2007 13:19:40 +0000 (15:19 +0200)]
[PATCH] mac80211: consolidate decryption

Currently, we run through all three crypto algorithms for each
received frame even though we have previously determined which
key we have and as such already know which algorithm will be
used. Change it to invoke only the needed function. Also move
the WEP decrypt handler to wep.c so that fewer functions need
to be non-static.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: pass frames to monitor interfaces early
Johannes Berg [Wed, 26 Sep 2007 13:19:39 +0000 (15:19 +0200)]
[PATCH] mac80211: pass frames to monitor interfaces early

This makes mac80211 pass all frames to monitor interfaces early
before all receive processing with the benefit that only a single
copy needs to be made, all monitors can receive clones of the skb
and if the frame will be discarded we don't even need to make a
single copy.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: fix interface initialisation and deinitialisation
Johannes Berg [Wed, 26 Sep 2007 12:27:23 +0000 (14:27 +0200)]
[PATCH] mac80211: fix interface initialisation and deinitialisation

When an interface is registered it is still uninitialised so
ieee80211_if_reinit() can't be called on it (it will oops.)
Hence, we need to move the uninit method assignment.

Also, this patch fixes the bug that the master device is never
initialised nor deinitialised at all. Oddly, the deinit code
had an if statement to not run some code when running for the
master interface (which never happened), but that if statement
is also wrong. Fix that too.

Now that the uninit code is run for the master device, another
bug surfaced: it tries to remove all dependent interfaces and
that oopses or BUGs at some point, either because it unregisters
already unregistered interfaces (missing list_del bug) or due
to trying to iterate a list that has had other things removed.
Fix this too by handling the master interface specially.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PKT_SCHED]: Add stateless NAT
Herbert Xu [Thu, 27 Sep 2007 19:48:05 +0000 (12:48 -0700)]
[PKT_SCHED]: Add stateless NAT

Stateless NAT is useful in controlled environments where restrictions are
placed on through traffic such that we don't need connection tracking to
correctly NAT protocol-specific data.

In particular, this is of interest when the number of flows or the number
of addresses being NATed is large, or if connection tracking information
has to be replicated and where it is not practical to do so.

Previously we had stateless NAT functionality which was integrated into
the IPv4 routing subsystem.  This was a great solution as long as the NAT
worked on a subnet to subnet basis such that the number of NAT rules was
relatively small.  The reason is that for SNAT the routing based system
had to perform a linear scan through the rules.

If the number of rules is large then major renovations would have take
place in the routing subsystem to make this practical.

For the time being, the least intrusive way of achieving this is to use
the u32 classifier written by Alexey Kuznetsov along with the actions
infrastructure implemented by Jamal Hadi Salim.

The following patch is an attempt at this problem by creating a new nat
action that can be invoked from u32 hash tables which would allow large
number of stateless NAT rules that can be used/updated in constant time.

The actual NAT code is mostly based on the previous stateless NAT code
written by Alexey.  In future we might be able to utilise the protocol
NAT code from netfilter to improve support for other protocols.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PATCH] adm8211: Detect interface up/down in suspend/resume hooks correctly
Michael Wu [Mon, 24 Sep 2007 22:10:25 +0000 (18:10 -0400)]
[PATCH] adm8211: Detect interface up/down in suspend/resume hooks correctly

Interface up/down detection was incorrectly changed during the filter API
update.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] adm8211: Pass all TXed frames to tx_status_irqsafe
Michael Wu [Mon, 24 Sep 2007 22:10:25 +0000 (18:10 -0400)]
[PATCH] adm8211: Pass all TXed frames to tx_status_irqsafe

ieee80211_tx_status_irqsafe can handle the freeing of all TXed frames.

Also, set excessive_retries for failed frames.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] adm8211: Use revision from pci_dev
Michael Wu [Mon, 24 Sep 2007 22:10:25 +0000 (18:10 -0400)]
[PATCH] adm8211: Use revision from pci_dev

No need to load the revision ourselves anymore.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] adm8211: kill version printks
Michael Wu [Mon, 24 Sep 2007 22:10:25 +0000 (18:10 -0400)]
[PATCH] adm8211: kill version printks

No need to pollute dmesg with copyright info.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] adm8211: Improve writing of mac addrs to registers
Michael Wu [Mon, 24 Sep 2007 22:10:25 +0000 (18:10 -0400)]
[PATCH] adm8211: Improve writing of mac addrs to registers

The mac address write is broken for big endian and the bssid write can be
simplified. This patch does both.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] adm8211: kill interrupt loop
Michael Wu [Mon, 24 Sep 2007 22:10:25 +0000 (18:10 -0400)]
[PATCH] adm8211: kill interrupt loop

Looping in the interrupt handler is unnecessary.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Release rt2x00 2.0.9
Ivo van Doorn [Tue, 25 Sep 2007 18:58:08 +0000 (20:58 +0200)]
[PATCH] rt2x00: Release rt2x00 2.0.9

Version bump

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Fix panic on rmmod with rfkill enabled
Ivo van Doorn [Tue, 25 Sep 2007 18:57:49 +0000 (20:57 +0200)]
[PATCH] rt2x00: Fix panic on rmmod with rfkill enabled

When ieee80211_hw.config indicates that the radio
is enabled and is configuring options that require
the link tuner to be restarted the link tuner will
cause a kernel panic when rfkill has indicated the
radio was in fact disabled.

Signed-off-by: Modestas Vainius <modestas@vainius.eu>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Fix obvious typo in comment
Ivo van Doorn [Tue, 25 Sep 2007 18:57:25 +0000 (20:57 +0200)]
[PATCH] rt2x00: Fix obvious typo in comment

Signed-off-by: Modestas Vainius <modestas@vainius.eu>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Stop link tuning when radio is down
Ivo van Doorn [Tue, 25 Sep 2007 18:57:04 +0000 (20:57 +0200)]
[PATCH] rt2x00: Stop link tuning when radio is down

As pointed out by Modestas Vainius the link tuner
could continue working while the radio is already
down. This because at the start of disable_radio
the ENABLED_RADIO flag is cleared and causes the
toggle_rx to skip the stop_link_tuner() call.
This will add a check to the start of the link tuner
which will automatically stop the link tuner when the
radio is disabled.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: make rt2x00lib_stop_link_tuner() reentrant with link_tuner work
Ivo van Doorn [Tue, 25 Sep 2007 18:56:36 +0000 (20:56 +0200)]
[PATCH] rt2x00: make rt2x00lib_stop_link_tuner() reentrant with link_tuner work

Calling cancel_delayed_work_sync() unconditionally won't hurt
and it will avoid race conditions when another CPU is already
executing link_tuner work.

Signed-off-by: Modestas Vainius <modestas@vainius.eu>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agort2x00: Add rt2x00dev->flags to debugfs
Ivo van Doorn [Tue, 25 Sep 2007 18:13:51 +0000 (20:13 +0200)]
rt2x00: Add rt2x00dev->flags to debugfs

Loosely based on the patch by Matthijs Kooijman,
this will add the dev_flags entry into debugfs which
will display rt2x00dev->flags.
This will allow easier debugging of flag handling.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Reorganize rt2x00dev->flags
Ivo van Doorn [Tue, 25 Sep 2007 18:55:39 +0000 (20:55 +0200)]
[PATCH] rt2x00: Reorganize rt2x00dev->flags

The rt2x00dev->flags has become a chaos over time,
this will reorganize the flags by renaming, deleting, adding
and properly implement the flags.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Correctly identify rt2561turbo
Ivo van Doorn [Tue, 25 Sep 2007 18:54:44 +0000 (20:54 +0200)]
[PATCH] rt2x00: Correctly identify rt2561turbo

Apparently rt2561s actually has PCI ID 0x0301
and rt2561 actually has PCI ID 0x0302.
Where rt2561s supports Turbo.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Increase rt2x00usb_vendor_request timeout.
Ivo van Doorn [Tue, 25 Sep 2007 18:54:20 +0000 (20:54 +0200)]
[PATCH] rt2x00: Increase rt2x00usb_vendor_request timeout.

By increasing the timeout for rt2x00usb_vendor_request,
we should limit the number of loops required to send
a signal to the device succefully.
500ms timeout is specified by the Ralink legacy drivers
for rt2500usb. For rt73usb 1000ms is specified, but that
includes the timeout for the firmware which is already
specified in a different define.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Make *_beacon_update static
Ivo van Doorn [Tue, 25 Sep 2007 18:53:43 +0000 (20:53 +0200)]
[PATCH] rt2x00: Make *_beacon_update static

Make rt61pci_beacon_update and rt73usb_beacon_update static,
they are only used inside their own source file and then only
for setting it as callback funtion for mac80211.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] rt2x00: Correct error in calculating rssi for link tuner
Ivo van Doorn [Tue, 25 Sep 2007 18:53:20 +0000 (20:53 +0200)]
[PATCH] rt2x00: Correct error in calculating rssi for link tuner

The call to rt2x00lib_precalculate_link_signal resets link.rx_success
which is needed when calculating the average rssi for the link
tuner. Change the call order so the link tuner runs first as it
doesn't need the result of the precalculate.

Signed-off-by: Adam Baker <linux@baker-net.org.uk>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: fix virtual interface locking
Johannes Berg [Tue, 18 Sep 2007 21:29:21 +0000 (17:29 -0400)]
[PATCH] mac80211: fix virtual interface locking

Florian Lohoff noticed a bug in mac80211: when bringing the
master interface down while other virtual interfaces are up
we call dev_close() under a spinlock which is not allowed.
This patch removes the sub_if_lock used by mac80211 in favour
of using an RCU list. All list manipulations are already done
under rtnl so are well protected against each other, and the
read-side locks we took in the RX and TX code are already in
RCU read-side critical sections.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Florian Lohoff <flo@rfc822.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Cc: Satyam Sharma <satyam@infradead.org>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: remove crypto algorithm typedef
Johannes Berg [Tue, 18 Sep 2007 21:29:21 +0000 (17:29 -0400)]
[PATCH] mac80211: remove crypto algorithm typedef

The typedef is not required, we can just use "enum ieee80211_key_alg"
instead of "ieee80211_key_alg"

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] wireless networking: move frame inline functions to generic header
Johannes Berg [Tue, 18 Sep 2007 21:29:20 +0000 (17:29 -0400)]
[PATCH] wireless networking: move frame inline functions to generic header

These inlines are generally useful, not just with mac80211.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: document a lot more
Johannes Berg [Tue, 18 Sep 2007 21:29:20 +0000 (17:29 -0400)]
[PATCH] mac80211: document a lot more

This patch adds a lot more documentation (in kernel-doc format)
to include/net/mac80211.h

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: renumber and document the hardware flags
Johannes Berg [Tue, 18 Sep 2007 21:29:15 +0000 (17:29 -0400)]
[PATCH] mac80211: renumber and document the hardware flags

Currently, hardware flags that drivers must set are not
documented well enough. Fix this.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: validate VLAN interfaces better
Johannes Berg [Mon, 17 Sep 2007 05:29:24 +0000 (01:29 -0400)]
[PATCH] mac80211: validate VLAN interfaces better

This patch changes mac80211 to verify that VLAN interfaces
are valid and not bother drivers about them any more.
VLAN interfaces are now only valid when an AP interface
is up with the same MAC address, and are automatically
turned off when the AP interface is set down.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Jouni Malinen <j@w1.fi>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] mac80211: revamp interface and filter configuration
Johannes Berg [Mon, 17 Sep 2007 05:29:23 +0000 (01:29 -0400)]
[PATCH] mac80211: revamp interface and filter configuration

Drivers are currently supposed to keep track of monitor
interfaces if they allow so-called "hard" monitor, and
they are also supposed to keep track of multicast etc.

This patch changes that, replaces the set_multicast_list()
callback with a new configure_filter() callback that takes
filter flags (FIF_*) instead of interface flags (IFF_*).
For a driver, this means it should open the filter as much
as necessary to get all frames requested by the filter flags.
Accordingly, the filter flags are named "positively", e.g.
FIF_ALLMULTI.

Multicast filtering is a bit special in that drivers that
have no multicast address filters need to allow multicast
frames through when either the FIF_ALLMULTI flag is set or
when the mc_count value is positive.

At the same time, drivers are no longer notified about
monitor interfaces at all, this means they now need to
implement the start() and stop() callbacks and the new
change_filter_flags() callback. Also, the start()/stop()
ordering changed, start() is now called *before* any
add_interface() as it really should be, and stop() after
any remove_interface().

The patch also changes the behaviour of setting the bssid
to multicast for scanning when IEEE80211_HW_NO_PROBE_FILTERING
is set; the IEEE80211_HW_NO_PROBE_FILTERING flag is removed
and the filter flag FIF_BCN_PRBRESP_PROMISC introduced.
This is a lot more efficient for hardware like b43 that
supports it and other hardware can still set the BSSID
to all-ones.

Driver modifications by Johannes Berg (b43 & iwlwifi), Michael Wu
(rtl8187, adm8211, and p54), Larry Finger (b43legacy), and
Ivo van Doorn (rt2x00).

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[NET]: Proper comment for loopback initialization order.
Denis V. Lunev [Thu, 27 Sep 2007 19:04:19 +0000 (12:04 -0700)]
[NET]: Proper comment for loopback initialization order.

Loopback device is special. It should be initialized at the very
beginning.  Initialization order has been changed by
Eric W. Biederman <ebiederm@xmission.com> and this change is non-obvious
and important enough to add proper comment.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETNS]: Simplify the network namespace list locking rules.
Eric W. Biederman [Thu, 27 Sep 2007 05:40:08 +0000 (22:40 -0700)]
[NETNS]: Simplify the network namespace list locking rules.

Denis V. Lunev <den@sw.ru> noticed that the locking rules
for the network namespace list are over complicated and broken.

In particular the current register_netdev_notifier currently
does not take any lock making the for_each_net iteration racy
with network namespace creation and destruction. Oops.

The fact that we need to use for_each_net in rtnl_unlock() when
the rtnetlink support becomes per network namespace makes designing
the proper locking tricky.  In addition we need to be able to call
rtnl_lock() and rtnl_unlock() when we have the net_mutex held.

After thinking about it and looking at the alternatives carefully
it looks like the simplest and most maintainable solution is
to remove net_list_mutex altogether, and to use the rtnl_mutex instead.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>