kernel/kernel-generic.git
14 years agonet: Fix a typo from "dev" to "ndev"
Henrique Camargo [Mon, 2 Aug 2010 17:10:42 +0000 (17:10 +0000)]
net: Fix a typo from "dev" to "ndev"

The typo was causing compilation errors since "dev" was not defined.

Signed-off-by: Henrique Camargo <henrique.camargo@ensitec.com.br>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoigb: Use irq_synchronize per vector when using MSI-X
Emil Tantilov [Mon, 2 Aug 2010 14:40:52 +0000 (14:40 +0000)]
igb: Use irq_synchronize per vector when using MSI-X

Synchronize all IRQs when using MSI-X. Similar to ixgbe.
Issue was reported on e1000e, but the patch is also valid for igb.

CC: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoixgbevf: fix null pointer dereference due to filter being set for VLAN 0
Alexander Duyck [Mon, 2 Aug 2010 14:59:04 +0000 (14:59 +0000)]
ixgbevf: fix null pointer dereference due to filter being set for VLAN 0

This change corrects an issue that resulted in a null pointer dereference
for the addition of VLAN 0 without any VLANs being registered.  Also this
code removes some unnecessary checks for defines and the unnecessary setting
of VLAN flags since that is now handled within the kernel via the
vlan_features.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoe1000e: Fix irq_synchronize in MSI-X case
Jeff Kirsher [Mon, 2 Aug 2010 14:27:23 +0000 (14:27 +0000)]
e1000e: Fix irq_synchronize in MSI-X case

Based on original patch/work from Jean Delvare <jdelvare@suse.de>
Synchronize all IRQs when in MSI-X IRQ mode.

Jean's original patch hard coded the sync with the 3 possible vectors,
this patch incorporates more flexibility for the future and aligns
with how igb stores the number of vectors into the adapter structure.

CC: Jean Delvare <jdelvare@suse.de>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Acked-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoe1000e: register pm_qos request on hardware activation
Florian Mickler [Mon, 2 Aug 2010 14:27:00 +0000 (14:27 +0000)]
e1000e: register pm_qos request on hardware activation

The pm_qos_add_request call has to register the pm_qos request with the pm_qos
susbsystem before first use of the pm_qos request via
pm_qos_update_request.

As pm_qos changed to use plists there is no benefit in registering and
unregistering the pm_qos request on ifup/ifdown and thus we move the
registering into e1000_open and the unregistering in e1000_close.

This fixes the following warning:

[    1.786060] WARNING: at kernel/pm_qos_params.c:264
pm_qos_update_request+0x28/0x54()
[    1.786088] Hardware name: Latitude E6500
[    1.787045] pm_qos_update_request() called for unknown object
[    1.787966] Modules linked in:
[    1.788940] Pid: 1, comm: swapper Not tainted 2.6.35-rc5-mmotm0719 #1
[    1.790035] Call Trace:
[    1.791121]  [<ffffffff81037335>] warn_slowpath_common+0x80/0x98
[    1.792205]  [<ffffffff810373e1>] warn_slowpath_fmt+0x41/0x43
[    1.793279]  [<ffffffff81057c14>] pm_qos_update_request+0x28/0x54
[    1.794347]  [<ffffffff8134889e>] e1000_configure+0x421/0x459
[    1.795393]  [<ffffffff8134afbd>] e1000_open+0xbd/0x37c
[    1.796436]  [<ffffffff8105743a>] ? raw_notifier_call_chain+0xf/0x11
[    1.797491]  [<ffffffff8145f948>] __dev_open+0xae/0xe2
[    1.798547]  [<ffffffff8145f997>] dev_open+0x1b/0x49
[    1.799612]  [<ffffffff8146e36e>] netpoll_setup+0x84/0x259
[    1.800685]  [<ffffffff81b5037c>] init_netconsole+0xbc/0x21f
[    1.801744]  [<ffffffff81b5026c>] ? sir_wq_init+0x0/0x35
[    1.802793]  [<ffffffff81b502c0>] ? init_netconsole+0x0/0x21f
[    1.803845]  [<ffffffff810002ff>] do_one_initcall+0x7a/0x12f
[    1.804885]  [<ffffffff81b2ccae>] kernel_init+0x138/0x1c2
[    1.805915]  [<ffffffff81003554>] kernel_thread_helper+0x4/0x10
[    1.806937]  [<ffffffff81590e00>] ? restore_args+0x0/0x30
[    1.807955]  [<ffffffff81b2cb76>] ? kernel_init+0x0/0x1c2
[    1.808958]  [<ffffffff81003550>] ? kernel_thread_helper+0x0/0x10
[    1.809958] ---[ end trace 84b562a00a60539e ]---

Signed-off-by: Florian Mickler <florian@mickler.org>
Tested-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice
Changli Gao [Sat, 31 Jul 2010 13:25:08 +0000 (13:25 +0000)]
ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice

6c79bf0f2440fd250c8fce8d9b82fcf03d4e8350 subtracts PPPOE_SES_HLEN from mtu at
the front of ip_fragment(). So the later subtraction should be removed. The
MTU of 802.1q is also 1500, so MTU should not be changed.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Bart De Schuymer <bdschuym@pandora.bo>
----
 net/ipv4/ip_output.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
Signed-off-by: Bart De Schuymer <bdschuym@pandora.bo>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: Add getsockopt support for TCP thin-streams
Josh Hunt [Fri, 30 Jul 2010 13:49:35 +0000 (13:49 +0000)]
net: Add getsockopt support for TCP thin-streams

Initial TCP thin-stream commit did not add getsockopt support for the new
socket options: TCP_THIN_LINEAR_TIMEOUTS and TCP_THIN_DUPACK. This adds support
for them.

Signed-off-by: Josh Hunt <johunt@akamai.com>
Tested-by: Andreas Petlund <apetlund@simula.no>
Acked-by: Andreas Petlund <apetlund@simula.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: update driver version
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:24 +0000 (13:19 +0000)]
cxgb4: update driver version

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: add new PCI IDs
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:23 +0000 (13:19 +0000)]
cxgb4: add new PCI IDs

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: fix wrong shift direction
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:22 +0000 (13:19 +0000)]
cxgb4: fix wrong shift direction

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: support running the driver on PCI functions besides 0
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:21 +0000 (13:19 +0000)]
cxgb4: support running the driver on PCI functions besides 0

Add support for running the driver on any PCI function.  Mostly this
entails replacing a constant 0 in a number of calls with the variable
function number.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: advertise NETIF_F_TSO_ECN
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:20 +0000 (13:19 +0000)]
cxgb4: advertise NETIF_F_TSO_ECN

The device supports TSO+ECN.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: get on-chip queue info from FW and create a memory window for them
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:19 +0000 (13:19 +0000)]
cxgb4: get on-chip queue info from FW and create a memory window for them

Get info about the availability of Tx on-chip queues from FW and if they
are supported set up a memory window for them.  iw_cxgb4 will be using them.
Move the existing window setup later in the init sequence, after we have
collected the new info.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: fix TSO descriptors
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:18 +0000 (13:19 +0000)]
cxgb4: fix TSO descriptors

Commit 1704d74894912b8ecc3e95cecd7bde336a0b1bf2 ("cxgb4vf: small changes
to message processing structures/macros") was incomplete and causes cxgb4
to write bad TSO descriptors.  Fix that up by reverting the offending part
of that commit and adjusting field accesses now that they are one level
deeper.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: don't offload Rx checksums for IPv6 fragments
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:17 +0000 (13:19 +0000)]
cxgb4: don't offload Rx checksums for IPv6 fragments

The checksum provided by the device doesn't include the L3 headers,
as IPv6 expects.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: disable an interrupt that is neither used nor serviced
Dimitris Michailidis [Mon, 2 Aug 2010 13:19:16 +0000 (13:19 +0000)]
cxgb4: disable an interrupt that is neither used nor serviced

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agohp100: unmap memory on error path
Dan Carpenter [Mon, 2 Aug 2010 23:08:43 +0000 (16:08 -0700)]
hp100: unmap memory on error path

There was an error path where "mem_ptr_virt" didn't get unmapped.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoTulip: don't initialize SBE xT3E3 WAN ports.
Krzysztof Hałasa [Mon, 2 Aug 2010 23:03:29 +0000 (16:03 -0700)]
Tulip: don't initialize SBE xT3E3 WAN ports.

SBE 2T3E3 cards use DECchips 21143 but they need a different driver.
Don't even try to use a normal tulip driver with them.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/wan/farsync.c: Use standard pr_<level>
Joe Perches [Mon, 2 Aug 2010 23:01:35 +0000 (16:01 -0700)]
drivers/net/wan/farsync.c: Use standard pr_<level>

Remove locally defined equivalents

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'vhost-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mst...
David S. Miller [Mon, 2 Aug 2010 22:54:07 +0000 (15:54 -0700)]
Merge branch 'vhost-net-next' of git://git./linux/kernel/git/mst/vhost

14 years agotg3: Update version to 3.113
Matt Carlson [Mon, 2 Aug 2010 11:26:08 +0000 (11:26 +0000)]
tg3: Update version to 3.113

This patch updates the tg3 version to 3.113.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Migrate tg3_flags to phy_flags
Matt Carlson [Mon, 2 Aug 2010 11:26:07 +0000 (11:26 +0000)]
tg3: Migrate tg3_flags to phy_flags

This patch moves most of the phy related flag definitions over to the
phyflags member and changes the code accordingly.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Create phy_flags and migrate phy_is_low_power
Matt Carlson [Mon, 2 Aug 2010 11:26:06 +0000 (11:26 +0000)]
tg3: Create phy_flags and migrate phy_is_low_power

This patch deletes the link_config.phy_is_low_power flag and creates a
new phy_flags device member to store all phy related settings.  All the
code is converted accordingly.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Add phy-related preprocessor constants
Matt Carlson [Mon, 2 Aug 2010 11:26:05 +0000 (11:26 +0000)]
tg3: Add phy-related preprocessor constants

This patch replaces some instances of hardcoded phy register values with
preprocessor equivalents.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Add error reporting to tg3_phydsp_write()
Matt Carlson [Mon, 2 Aug 2010 11:26:04 +0000 (11:26 +0000)]
tg3: Add error reporting to tg3_phydsp_write()

This patch adds error reporting to the tg3_phydsp_write() function and
converts a few more locations to use this function over the inlined
equivalent.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Improve small packet performance
Matt Carlson [Mon, 2 Aug 2010 11:26:03 +0000 (11:26 +0000)]
tg3: Improve small packet performance

smp_mb() inside tg3_tx_avail() is used twice in the normal
tg3_start_xmit() path (see illustration below).  The full memory
barrier is only necessary during race conditions with tx completion.
We can speed up the tx path by replacing smp_mb() in tg3_tx_avail()
with a compiler barrier.  The compiler barrier is to force the
compiler to fetch the tx_prod and tx_cons from memory.

In the race condition between tg3_start_xmit() and tg3_tx(),
we have the following situation:

tg3_start_xmit()                       tg3_tx()
    if (!tg3_tx_avail())
        BUG();

    ...

    if (!tg3_tx_avail())
        netif_tx_stop_queue();         update_tx_index();
        smp_mb();                      smp_mb();
        if (tg3_tx_avail())            if (netif_tx_queue_stopped() &&
            netif_tx_wake_queue();         tg3_tx_avail())

With smp_mb() removed from tg3_tx_avail(), we need to add smp_mb() to
tg3_start_xmit() as shown above to properly order netif_tx_stop_queue()
and tg3_tx_avail() to check the ring index.  If it is not strictly
ordered, the tx queue can be stopped forever.

This improves performance by about 3% with 2 ports running
bi-directional 64-byte packets.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Remove 5720, 5750, and 5750M
Matt Carlson [Mon, 2 Aug 2010 11:26:02 +0000 (11:26 +0000)]
tg3: Remove 5720, 5750, and 5750M

These devices were never released to the public.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Detect APE firmware types
Matt Carlson [Mon, 2 Aug 2010 11:26:01 +0000 (11:26 +0000)]
tg3: Detect APE firmware types

This patch adds code to determine the APE firmware type and report this
along with the firmware version.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Restrict ASPM workaround devlist
Matt Carlson [Mon, 2 Aug 2010 11:26:00 +0000 (11:26 +0000)]
tg3: Restrict ASPM workaround devlist

The ASPM workaround setting obtained from NVRAM only works with devices
older than 5717.  This patch enforces the restriction.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Manage gphy power for CPMU-less devs only
Matt Carlson [Mon, 2 Aug 2010 11:25:59 +0000 (11:25 +0000)]
tg3: Manage gphy power for CPMU-less devs only

This patch changes the code to only manage the PCIe gphy power for
CPMU-less devices only.  The CPMU takes over management for newer
chips.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Don't access phy test ctrl reg for 5717+
Matt Carlson [Mon, 2 Aug 2010 11:25:58 +0000 (11:25 +0000)]
tg3: Don't access phy test ctrl reg for 5717+

The phy test register location has been repurposed for 5717+ devices.
This patch changes the code to avoid this location for these devices.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Create TG3_FLG3_5717_PLUS flag
Matt Carlson [Mon, 2 Aug 2010 11:25:57 +0000 (11:25 +0000)]
tg3: Create TG3_FLG3_5717_PLUS flag

This patch creates a TG3_FLG3_5717_PLUS flag to collectively describe
the set of changes in the ASIC that will apply to all future chip
revisions.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Disable TSS also during tg3_close()
Matt Carlson [Mon, 2 Aug 2010 11:25:56 +0000 (11:25 +0000)]
tg3: Disable TSS also during tg3_close()

The TSS flag needs to be turned off during tg3_close().  If the device
fails to allocate more than one MSI-X vector the next time the device is
brought up, transmits will fail.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Add 5784 ASIC rev to earlier PCIe MPS fix
Matt Carlson [Mon, 2 Aug 2010 11:25:55 +0000 (11:25 +0000)]
tg3: Add 5784 ASIC rev to earlier PCIe MPS fix

tg3 commit e7126997342560533317d8467e8516119ebcbd21 entitled
"tg3: Preserve PCIe MPS setting for new devs" attempted to ensure the
PCIe link negotiated Maximum Payload Size (MPS) setting was 128 bytes
for all devices that didn't support higher speeds.  The 5784 device was
mistakenly added to this list when it shouldn't have.  This patch
removes the 5784 ASIC rev devices from that list.

Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6
David S. Miller [Mon, 2 Aug 2010 22:07:58 +0000 (15:07 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/kaber/nf-next-2.6

14 years agonetfilter: nf_conntrack_acct: use skb->len for accounting
Changli Gao [Mon, 2 Aug 2010 15:56:28 +0000 (17:56 +0200)]
netfilter: nf_conntrack_acct: use skb->len for accounting

use skb->len for accounting as xt_quota does. Since nf_conntrack works
at the network layer, skb_network_offset should always returns ZERO.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_nat: don't check if the tuple is unique when there isn't any other...
Changli Gao [Mon, 2 Aug 2010 15:35:49 +0000 (17:35 +0200)]
netfilter: nf_nat: don't check if the tuple is unique when there isn't any other choice

The tuple got from unique_tuple() doesn't need to be really unique, so the
check for the unique tuple isn't necessary, when there isn't any other
choice. Eliminating the unnecessary nf_nat_used_tuple() can save some CPU
cycles too.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_nat: make unique_tuple return void
Changli Gao [Mon, 2 Aug 2010 15:20:54 +0000 (17:20 +0200)]
netfilter: nf_nat: make unique_tuple return void

The only user of unique_tuple() get_unique_tuple() doesn't care about the
return value of unique_tuple(), so make unique_tuple() return void (nothing).

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_nat: use local variable hdrlen
Changli Gao [Mon, 2 Aug 2010 15:15:30 +0000 (17:15 +0200)]
netfilter: nf_nat: use local variable hdrlen

Use local variable hdrlen instead of ip_hdrlen(skb).

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agoipvs: provide default ip_vs_conn_{in,out}_get_proto
Simon Horman [Mon, 2 Aug 2010 15:12:44 +0000 (17:12 +0200)]
ipvs: provide default ip_vs_conn_{in,out}_get_proto

This removes duplicate code by providing a default implementation
which is used by 3 of the 4 modules that provide these call.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agoipvs: remove EXPERIMENTAL tag
Simon Horman [Mon, 2 Aug 2010 15:08:11 +0000 (17:08 +0200)]
ipvs: remove EXPERIMENTAL tag

IPVS was merged into the kernel quite a long time ago and
has been seeing wide-spread production use for even longer.

It seems appropriate for it to be no longer tagged as EXPERIMENTAL

Signed-off-as: Simon Horman <horms@verge.net.au>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: nf_conntrack_extend: introduce __nf_ct_ext_exist()
Changli Gao [Mon, 2 Aug 2010 15:06:19 +0000 (17:06 +0200)]
netfilter: nf_conntrack_extend: introduce __nf_ct_ext_exist()

some users of nf_ct_ext_exist() know ct->ext isn't NULL. For these users, the
check for ct->ext isn't necessary, the function __nf_ct_ext_exist() can be
used instead.

the type of the return value of nf_ct_ext_exist() is changed to bool.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonetfilter: {ip,ip6,arp}_tables: dont block bottom half more than necessary
Eric Dumazet [Mon, 2 Aug 2010 14:49:01 +0000 (16:49 +0200)]
netfilter: {ip,ip6,arp}_tables: dont block bottom half more than necessary

We currently disable BH for the whole duration of get_counters()

On machines with a lot of cpus and large tables, this might be too long.

We can disable preemption during the whole function, and disable BH only
while fetching counters for the current cpu.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
14 years agonet: ingress filter message limit
Stephen Hemminger [Sun, 1 Aug 2010 07:33:23 +0000 (00:33 -0700)]
net: ingress filter message limit

If user misconfigures ingress and causes a redirection loop, don't
overwhelm the log.  This is also a error case so make it unlikely.
Found by inspection, luckily not in real system.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet/rose: Use GFP_ATOMIC
Julia Lawall [Fri, 30 Jul 2010 23:56:39 +0000 (23:56 +0000)]
net/rose: Use GFP_ATOMIC

The other calls to kmalloc in the same function use GFP_ATOMIC, and indeed
two locks are held within the body of the function.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@ identifier f; @@

*f(...,GFP_ATOMIC,...)
... when != spin_unlock(...)
    when != read_unlock(...)
    when != write_unlock(...)
    when != read_unlock_irq(...)
    when != write_unlock_irq(...)
    when != read_unlock_irqrestore(...)
    when != write_unlock_irqrestore(...)
    when != spin_unlock_irq(...)
    when != spin_unlock_irqrestore(...)
*f(...,GFP_KERNEL,...)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: fix to avoid sending get_stats request if one is already being processed.
Ajit Khaparde [Thu, 29 Jul 2010 06:18:58 +0000 (06:18 +0000)]
be2net: fix to avoid sending get_stats request if one is already being processed.

GET_STATS request uses the same memory region as the response.
If a new request for get stats is fired before the response for
the previous get_stats request is received, the response will
corrupt the new request, causing the f/w to misbehave.

Signed-off-by: Somnath K <somnathk@serverengines.com>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: change to show correct physical link status
Ajit Khaparde [Thu, 29 Jul 2010 06:17:17 +0000 (06:17 +0000)]
be2net: change to show correct physical link status

link status is wrongly displayed under certain circumstances.
This change fixes it.

Signed-off-by: Somnath K <somnathk@serverengines.com>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: add code to dump registers for debug
Ajit Khaparde [Thu, 29 Jul 2010 06:16:33 +0000 (06:16 +0000)]
be2net: add code to dump registers for debug

when the BE device becomes unresponsive, dump the registers to help debugging

Signed-off-by: Somnath K <somnathk@serverengines.com>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: fix to correctly know if driver needs to run for a VF or a PF
Ajit Khaparde [Thu, 29 Jul 2010 06:15:32 +0000 (06:15 +0000)]
be2net: fix to correctly know if driver needs to run for a VF or a PF

Move be_check_sriov_fn_type to appropriate place to correctly determine
if the be2net driver needs to work as a VF driver or a PF driver.

Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agosky2: Code style fixes
Mike McCormack [Thu, 29 Jul 2010 03:34:52 +0000 (03:34 +0000)]
sky2: Code style fixes

Fix selected style problems reported by checkpatch.

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoTI DaVinci EMAC: Fix incorrect reference to EMAC_CTRL registers.
Sriram [Thu, 29 Jul 2010 02:34:00 +0000 (02:34 +0000)]
TI DaVinci EMAC: Fix incorrect reference to EMAC_CTRL registers.

The EMAC modules control registers vary as per the version of the
EMAC module. EMAC_CTRL_EWCTL,EMAC_CTRL_EWINTTCNT are available
only on EMAC_VERSION_1. The emac_dump_regs() function accesses
these indiscriminately. This patch fixes the issue.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoTI DaVinci EMAC: Fix asymmetric handling of packets in NAPI Poll function.
Sriram [Thu, 29 Jul 2010 02:33:59 +0000 (02:33 +0000)]
TI DaVinci EMAC: Fix asymmetric handling of packets in NAPI Poll function.

The current implementation of NAPI poll function in the driver does not service
Rx packets, error condition even if a single Tx packet gets serviced in
the napi poll call. This behavior severely affects performance for specific use
cases. This patch modifies the poll function implementation to service tx/rx
packets in an identical manner.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoTI DaVinci EMAC : Implement interrupt pacing functionality.
Sriram [Thu, 29 Jul 2010 02:33:58 +0000 (02:33 +0000)]
TI DaVinci EMAC : Implement interrupt pacing functionality.

DaVinci EMAC module includes an interrupt pacing block that can
be programmed to throttle the rate at which interrupts are
generated. This patch implements interrupt pacing logic that can
be controlled through the ethtool interface(only rx_coalesce_usecs
param is honored)

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobridge: Allow multicast snooping to be disabled before ifup
Herbert Xu [Thu, 29 Jul 2010 00:45:30 +0000 (00:45 +0000)]
bridge: Allow multicast snooping to be disabled before ifup

Currently you cannot disable multicast snooping while a device is
down.  There is no good reason for this restriction and this patch
removes it.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodnet: fixup error handling in initialization
Dan Carpenter [Wed, 28 Jul 2010 22:27:29 +0000 (22:27 +0000)]
dnet: fixup error handling in initialization

There were two problems here.  We returned success if dnet_mii_init()
failed and there was a release_mem_region() missing.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobonding: prevent sysfs from allowing arp monitoring with alb/tlb
Andy Gospodarek [Wed, 28 Jul 2010 15:13:56 +0000 (15:13 +0000)]
bonding: prevent sysfs from allowing arp monitoring with alb/tlb

When using module options arp monitoring and balance-alb/balance-tlb
are mutually exclusive options.  Anytime balance-alb/balance-tlb are
enabled mii monitoring is forced to 100ms if not set.  When configuring
via sysfs no checking is currently done.

Handling these cases with sysfs has to be done a bit differently because
we do not have all configuration information available at once.  This
patch will not allow a mode change to balance-alb/balance-tlb if
arp_interval is already non-zero.  It will also not allow the user to
set a non-zero arp_interval value if the mode is already set to
balance-alb/balance-tlb.  They are still mutually exclusive on a
first-come, first serve basis.

Tested with initscripts on Fedora and manual setting via sysfs.

Signed-off-by: Andy Gospodarek <gospo@redhat.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/net/vxge/vxge-main.c: Use pr_<level> and netdev_<level>
Joe Perches [Tue, 27 Jul 2010 11:47:03 +0000 (11:47 +0000)]
drivers/net/vxge/vxge-main.c: Use pr_<level> and netdev_<level>

Use pr_fmt, pr_<level> and netdev_<level> where appropriate.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: ks8842 depends on DMA_ENGINE
Randy Dunlap [Thu, 29 Jul 2010 07:14:27 +0000 (07:14 +0000)]
net: ks8842 depends on DMA_ENGINE

ks8842 uses dma channel functions, so it should depend on DMA_ENGINE.

ERROR: "__dma_request_channel" [drivers/net/ks8842.ko] undefined!
ERROR: "dma_release_channel" [drivers/net/ks8842.ko] undefined!

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoucc_geth: fix UCC device number in debug message
Sergey Matyukevich [Wed, 28 Jul 2010 08:05:21 +0000 (08:05 +0000)]
ucc_geth: fix UCC device number in debug message

This patch contains a fix for UCC device number in verbose debug message.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotun: keep link (carrier) state up to date
Nolan Leake [Tue, 27 Jul 2010 13:53:43 +0000 (13:53 +0000)]
tun: keep link (carrier) state up to date

Currently, only ethtool can get accurate link state of a tap device.
With this patch, IFF_RUNNING and IF_OPER_UP/DOWN are kept up to date as
well.

Signed-off-by: Nolan Leake <nolan@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Thu, 29 Jul 2010 18:47:07 +0000 (14:47 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6 into for-davem

14 years agocfg80211: fix dev <-> wiphy typo
Christian Lamparter [Wed, 28 Jul 2010 23:28:46 +0000 (01:28 +0200)]
cfg80211: fix dev <-> wiphy typo

Cc: Joe Perches <joe@perches.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: allow drivers to request DTIM period
Johannes Berg [Thu, 29 Jul 2010 14:08:55 +0000 (16:08 +0200)]
mac80211: allow drivers to request DTIM period

Some features require knowing the DTIM period
before associating. This implements the ability
to wait for a beacon in mac80211 before assoc
to provide this value. It is optional since
most likely not all drivers will need this.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: fix scan abort
Stanislaw Gruszka [Thu, 29 Jul 2010 09:37:41 +0000 (11:37 +0200)]
iwlwifi: fix scan abort

Fix possible double priv->mutex lock introduced by commit
a69b03e941abae00380fc6bc1877fb797a1b31e6
"iwlwifi: cancel scan watchdog in iwl_bg_abort_scan" .
We can not call cancel_delayed_work_sync(&priv->scan_check) with
priv->mutex locked because workqueue function iwl_bg_scan_check()
take that lock internally.

We do not need to synchronize when canceling priv->scan_check work.
We can avoid races (sending double abort command or send no
command at all) using STATUS_SCAN_ABORT bit. Moreover
current iwl_bg_scan_check() code seems to be broken, as
we should not send abort commands when currently aborting.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
CC: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomwl8k: change maintenance status
Lennert Buytenhek [Wed, 28 Jul 2010 23:47:04 +0000 (01:47 +0200)]
mwl8k: change maintenance status

The 8366 AP support in particular is still rather incomplete, but
this is unlikely to be addressed any time soon.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agowl1271: update hw/fw version info in wiphy struct
John W. Linville [Wed, 28 Jul 2010 21:09:41 +0000 (17:09 -0400)]
wl1271: update hw/fw version info in wiphy struct

This makes the information available through ethtool...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
14 years agowl1251: update hw/fw version info in wiphy struct
John W. Linville [Wed, 28 Jul 2010 20:59:41 +0000 (16:59 -0400)]
wl1251: update hw/fw version info in wiphy struct

This makes the information available through ethtool...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
14 years agowl1271: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 20:41:06 +0000 (16:41 -0400)]
wl1271: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
14 years agolibertas_tf: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 19:03:42 +0000 (15:03 -0400)]
libertas_tf: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agowl1251: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 19:23:30 +0000 (15:23 -0400)]
wl1251: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
14 years agoar9170: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 18:47:49 +0000 (14:47 -0400)]
ar9170: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agomwl8k: add get_survey callback in order to get channel noise
John W. Linville [Wed, 28 Jul 2010 18:04:24 +0000 (14:04 -0400)]
mwl8k: add get_survey callback in order to get channel noise

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
14 years agoath9k: enable serialize_regmode for non-PCIE AR9160
John W. Linville [Wed, 28 Jul 2010 14:06:35 +0000 (10:06 -0400)]
ath9k: enable serialize_regmode for non-PCIE AR9160

https://bugzilla.kernel.org/show_bug.cgi?id=16476

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Cc: stable@kernel.org
14 years agonet: bnx2x_cmn.c needs net/ip6_checksum.h for csum_ipv6_magic
Stephen Rothwell [Thu, 29 Jul 2010 05:20:34 +0000 (22:20 -0700)]
net: bnx2x_cmn.c needs net/ip6_checksum.h for csum_ipv6_magic

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agomac80211: inform drivers about the off-channel status on channel changes
Felix Fietkau [Wed, 28 Jul 2010 00:40:49 +0000 (02:40 +0200)]
mac80211: inform drivers about the off-channel status on channel changes

For some drivers it can be useful to know whether the channel they're
supposed to switch to is going to be used for short off-channel work or
scanning, or whether the hardware is expected to stay on it for a while
longer. This is important for various kinds of calibration work, which
takes longer to complete and should keep some persistent state, even if
the channel temporarily changes.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoRevert "mac80211: fix sw scan bracketing"
Luis R. Rodriguez [Tue, 27 Jul 2010 20:33:08 +0000 (16:33 -0400)]
Revert "mac80211: fix sw scan bracketing"

This reverts this commit. While in theory the change is
correct the patch does not address current assumptions made
by some drivers, one which is definitley affected is ath9k.

Prior to this change the scan complete callback would be
called after we returned to the home channel and configured
the hardware RX filters. After this change we call the scan
complete callback prior to both the hw config and the config
filter. At least for ath9k this breaks quite a few assumptions
on the callback, leading to disconnects to the AP after every scan
making the driver pretty useless on STA mode. The goal behind
this commit was to address the now understood spurious warnings
from ath9k and mac80211_hwsim on scanning on two wiphys at the
same time but we have now supressed these and will address this
issue in the next kernel release.

When fixing this for good next we must first review the other
driver's dependence on this logic and perhaps consider removal
of the scan complete callback all together.

Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: remove the two wiphys scanning at the same time message
Luis R. Rodriguez [Tue, 27 Jul 2010 20:33:06 +0000 (16:33 -0400)]
ath9k: remove the two wiphys scanning at the same time message

When issuing two consecutive scans you could often end up
getting in the logs:

"ath9k: Two wiphys trying to scan at the same time"

This message is due to a race in mac80211 but addressing
that race requires some more major changes on the driver
and perhaps optimizations on mac80211 like removing the
scan complete callback alltogether. Its too late to address
this this kernel release so supress the complaint and annotate
this needs fixing for later.

Cc: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agocfg80211: Update of regulatory request initiator handling
Yuri Ershov [Tue, 29 Jun 2010 11:08:08 +0000 (15:08 +0400)]
cfg80211: Update of regulatory request initiator handling

In some cases there could be possible dereferencing freed pointer. The
update is intended to avoid this issue.

Signed-off-by: Yuri Ershov <ext-yuri.ershov@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agonl80211: Fix memory leaks
Yuri Ershov [Tue, 29 Jun 2010 11:08:07 +0000 (15:08 +0400)]
nl80211: Fix memory leaks

In case of errors during message composing msg should be freed after canceling.

Signed-off-by: Yuri Kululin <ext-yuri.kululin@nokia.com>
Signed-off-by: Yuri Ershov <ext-yuri.ershov@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: Put some code under MESH macro
Yuri Ershov [Tue, 29 Jun 2010 11:08:06 +0000 (15:08 +0400)]
mac80211: Put some code under MESH macro

In the function ieee80211_subif_start_xmit the logic related with
meshdrlen is under CONFIG_MAC80211_MESH macro, but in one place it isn't.
This is some update for this

Signed-off-by: Yuri Ershov <ext-yuri.ershov@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluet...
John W. Linville [Wed, 28 Jul 2010 20:17:49 +0000 (16:17 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/holtmann/bluetooth-next-2.6

14 years agovhost-net: mergeable buffers support
David Stevens [Tue, 27 Jul 2010 15:52:21 +0000 (18:52 +0300)]
vhost-net: mergeable buffers support

This adds support for mergeable buffers in vhost-net: this is needed
for older guests without indirect buffer support, as well
as for zero copy with some devices.

Includes changes by Michael S. Tsirkin to make the
patch as low risk as possible (i.e., close to no changes
when feature is disabled).

Signed-off-by: David Stevens <dlstevens@us.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14 years agovhost: apply cgroup to vhost workers
Michael S. Tsirkin [Tue, 27 Jul 2010 19:56:50 +0000 (22:56 +0300)]
vhost: apply cgroup to vhost workers

Apply the cgroup of the owner task to the created vhost worker.

Based on patches from Sridhar Samudrala's and Tejun Heo.
Later we'll need to also apply cpumask and probably priority
of the owner process.

Discussion on the best way to do this is still ongoing.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Sridhar Samudrala <samudrala.sridhar@gmail.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
14 years agocgroups: Add an API to attach a task to current task's cgroup
Sridhar Samudrala [Sun, 30 May 2010 20:24:39 +0000 (22:24 +0200)]
cgroups: Add an API to attach a task to current task's cgroup

Add a new kernel API to attach a task to current task's cgroup
in all the active hierarchies.

Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Paul Menage <menage@google.com>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
14 years agovhost: replace vhost_workqueue with per-vhost kthread
Tejun Heo [Wed, 2 Jun 2010 18:40:00 +0000 (20:40 +0200)]
vhost: replace vhost_workqueue with per-vhost kthread

Replace vhost_workqueue with per-vhost kthread.  Other than callback
argument change from struct work_struct * to struct vhost_work *,
there's no visible change to vhost_poll_*() interface.

This conversion is to make each vhost use a dedicated kthread so that
resource control via cgroup can be applied.

Partially based on Sridhar Samudrala's patch.

* Updated to use sub structure vhost_work instead of directly using
  vhost_poll at Michael's suggestion.

* Added flusher wake_up() optimization at Michael's suggestion.

Changes by MST:
* Converted atomics/barrier use to a spinlock.
* Create thread on SET_OWNER
* Fix flushing

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Cc: Sridhar Samudrala <samudrala.sridhar@gmail.com>
14 years agoks8842: Fix warnings on 64-bit.
David S. Miller [Wed, 28 Jul 2010 05:24:37 +0000 (22:24 -0700)]
ks8842: Fix warnings on 64-bit.

drivers/net/ks8842.c:922:26: warning: cast from pointer to integer of different size
drivers/net/ks8842.c:940:17: warning: cast to pointer from integer of different size
drivers/net/ks8842.c:963:17: warning: cast to pointer from integer of different size

Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agomacvlan: Fix rx counters update in macvlan_handle_frame()
Sridhar Samudrala [Tue, 27 Jul 2010 09:10:07 +0000 (09:10 +0000)]
macvlan: Fix rx counters update in macvlan_handle_frame()

Fix macvlan_handle_frame() to update the rx counters based
on the return value of the vlan->receive call.

Updated the patch to not do any packet count drops when the interface
is down based on Herber'ts comments.

Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Wed, 28 Jul 2010 04:01:35 +0000 (21:01 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:
drivers/net/bnx2x_main.c

Merge bnx2x bug fixes in by hand... :-/

Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoixgbe: potential null dereference
Dan Carpenter [Tue, 27 Jul 2010 00:05:56 +0000 (00:05 +0000)]
ixgbe: potential null dereference

The e_dev_err() macro dereferences "adapter" which is NULL here.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoks8842: Support DMA when accessed via timberdale
Richard Röjfors [Tue, 27 Jul 2010 12:57:01 +0000 (12:57 +0000)]
ks8842: Support DMA when accessed via timberdale

This patch adds support for RX and TX DMA via the DMA API,
this is only supported when the KS8842 is accessed via timberdale.

There is no support for DMA on the generic bus interface it self,
a state machine inside the FPGA is handling RX and TX transfers to/from
buffers in the FPGA. The host CPU can do DMA to and from these buffers.

The FPGA has to handle the RX interrupts, so these must be enabled in
the ks8842 but not in the FPGA. The driver must not disable the RX interrupt
that would mean that the data transfers into the FPGA buffers would stop.

The host shall not enable TX interrupts since TX is handled by the FPGA,
the host is notified by DMA callbacks when transfers are finished.

Which DMA channels to use are added as parameters in the platform data struct.

Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agostmmac: fix automatic PAD/FCS stripping
Giuseppe CAVALLARO [Tue, 27 Jul 2010 00:09:47 +0000 (00:09 +0000)]
stmmac: fix automatic PAD/FCS stripping

For Simple Ethernet frames (802.2 and 802.3) the GMAC Core
never strips pad and fcs. This means the ACS has no effect
on IPv4/6 frames.
The FL bits, in the RDES0, include the FCS so the driver
has to remove it in SW.
For 802.3 frame format with LLC or LLC-SNAP, when set the ACS
bit, the HW strips both PAD and FCS.
The FL bits, in the RDES0, actually represents the frame length
already stripped.
This patch fixes this logic within the device driver that
erroneously removed 4byte from 802.3 frames already stripped
corrupting the payload.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agostmmac: fix timer setup when use dual mac Kconfig
Giuseppe CAVALLARO [Tue, 27 Jul 2010 00:09:46 +0000 (00:09 +0000)]
stmmac: fix timer setup when use dual mac Kconfig

The driver erroneously sets the tmrate to zero when the
TMU initialisation fails. This actually generates problems
while using the dual GMAC configuration.

With this patch, enabling both the dual gmac and the timer
optimisation, the first interface opened will use the tmu
channel 2, the second one won't be able to use the timer but
will continue to work without mitigating the interrupts by
using the external timer (i.e. TMU channel 2).

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Update MAINTAINERS according to new location
Dmitry Kravkov [Tue, 27 Jul 2010 12:37:58 +0000 (12:37 +0000)]
bnx2x: Update MAINTAINERS according to new location

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: update driver version to 1.52.53-3
Dmitry Kravkov [Tue, 27 Jul 2010 12:37:06 +0000 (12:37 +0000)]
bnx2x: update driver version to 1.52.53-3

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Move statistics handling code to bnx2x_stats.*
Dmitry Kravkov [Tue, 27 Jul 2010 12:36:15 +0000 (12:36 +0000)]
bnx2x: Move statistics handling code to bnx2x_stats.*

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Create separate file for ethtool routines
Dmitry Kravkov [Tue, 27 Jul 2010 12:35:24 +0000 (12:35 +0000)]
bnx2x: Create separate file for ethtool routines

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Create bnx2x_cmn.* files
Dmitry Kravkov [Tue, 27 Jul 2010 12:34:34 +0000 (12:34 +0000)]
bnx2x: Create bnx2x_cmn.* files

Newly created files have no functionality changes,
but includes some functionality from bnx2x_main.c which
is common for PF and coming in the future VF driver.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: move global variable load_count to bnx2x.h
Dmitry Kravkov [Tue, 27 Jul 2010 12:33:43 +0000 (12:33 +0000)]
bnx2x: move global variable load_count to bnx2x.h

This will allow access to this global variable (used in no-mcp
mode) from different object files.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: store module parameters in driver main structure
Dmitry Kravkov [Tue, 27 Jul 2010 12:32:19 +0000 (12:32 +0000)]
bnx2x: store module parameters in driver main structure

Store module parameters during initialization of main driver
structure. This will allow access to the parameters from different
files.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Create separate folder for bnx2x driver
Dmitry Kravkov [Tue, 27 Jul 2010 12:31:10 +0000 (12:31 +0000)]
bnx2x: Create separate folder for bnx2x driver

This commit includes files movement to newly created folder
using git-mv command and fixes references in cnic and bnx2x code
to each other.

files moved using following:
#!/bin/bash
mkdir drivers/net/bnx2x/
list=$(cd drivers/net/ && ls bnx2x*.[ch])
for f in $list; do
        git mv -f drivers/net/$f drivers/net/bnx2x/$f
done

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>