firefly-linux-kernel-4.4.55.git
14 years agodrivers/net/caif: Remove unnecessary casts of private_data
Joe Perches [Mon, 12 Jul 2010 10:50:05 +0000 (10:50 +0000)]
drivers/net/caif: Remove unnecessary casts of private_data

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodrivers/isdn: Remove unnecessary casts of private_data
Joe Perches [Mon, 12 Jul 2010 10:50:02 +0000 (10:50 +0000)]
drivers/isdn: Remove unnecessary casts of private_data

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoatm: remove IRQF_DISABLED in combination with IRQF_SHARED
chas williams - CONTRACTOR [Sat, 10 Jul 2010 03:42:02 +0000 (03:42 +0000)]
atm: remove IRQF_DISABLED in combination with IRQF_SHARED

Signed-off-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agofec: use interrupt for MDIO completion indication
Baruch Siach [Sun, 11 Jul 2010 21:12:51 +0000 (21:12 +0000)]
fec: use interrupt for MDIO completion indication

With the move to phylib (commit e6b043d) I was seeing sporadic "MDIO write
timeout" messages. Measure of the actual time spent showed latency times of
more than 1600us.

This patch uses the MII event indication of the FEC hardware to detect
completion of MDIO transactions.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: autoconvert trivial BKL users to private mutex
Arnd Bergmann [Sun, 11 Jul 2010 11:18:57 +0000 (11:18 +0000)]
net: autoconvert trivial BKL users to private mutex

All these files use the big kernel lock in a trivial
way to serialize their private file operations,
typically resulting from an earlier semi-automatic
pushdown from VFS.

None of these drivers appears to want to lock against
other code, and they all use the BKL as the top-level
lock in their file operations, meaning that there
is no lock-order inversion problem.

Consequently, we can remove the BKL completely,
replacing it with a per-file mutex in every case.
Using a scripted approach means we can avoid
typos.

file=$1
name=$2
if grep -q lock_kernel ${file} ; then
    if grep -q 'include.*linux.mutex.h' ${file} ; then
            sed -i '/include.*<linux\/smp_lock.h>/d' ${file}
    else
            sed -i 's/include.*<linux\/smp_lock.h>.*$/include <linux\/mutex.h>/g' ${file}
    fi
    sed -i ${file} \
        -e "/^#include.*linux.mutex.h/,$ {
                1,/^\(static\|int\|long\)/ {
                     /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex);

} }"  \
    -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \
    -e '/[      ]*cycle_kernel_lock();/d'
else
    sed -i -e '/include.*\<smp_lock.h\>/d' ${file}  \
                -e '/cycle_kernel_lock()/d'
fi

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn: autoconvert trivial BKL users to private mutex
Arnd Bergmann [Sun, 11 Jul 2010 11:18:53 +0000 (11:18 +0000)]
isdn: autoconvert trivial BKL users to private mutex

All these files use the big kernel lock in a trivial
way to serialize their private file operations,
typically resulting from an earlier semi-automatic
pushdown from VFS.

None of these drivers appears to want to lock against
other code, and they all use the BKL as the top-level
lock in their file operations, meaning that there
is no lock-order inversion problem.

Consequently, we can remove the BKL completely,
replacing it with a per-file mutex in every case.
Using a scripted approach means we can avoid
typos.

file=$1
name=$2
if grep -q lock_kernel ${file} ; then
    if grep -q 'include.*linux.mutex.h' ${file} ; then
            sed -i '/include.*<linux\/smp_lock.h>/d' ${file}
    else
            sed -i 's/include.*<linux\/smp_lock.h>.*$/include <linux\/mutex.h>/g' ${file}
    fi
    sed -i ${file} \
        -e "/^#include.*linux.mutex.h/,$ {
                1,/^\(static\|int\|long\)/ {
                     /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex);

} }"  \
    -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \
    -e '/[      ]*cycle_kernel_lock();/d'
else
    sed -i -e '/include.*\<smp_lock.h\>/d' ${file}  \
                -e '/cycle_kernel_lock()/d'
fi

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Karsten Keil <isdn@linux-pingi.de>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: sock_free() optimizations
Eric Dumazet [Sat, 10 Jul 2010 22:45:17 +0000 (22:45 +0000)]
net: sock_free() optimizations

Avoid two extra instructions in sock_free(), to reload
skb->truesize and skb->sk

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoinet, inet6: make tcp_sendmsg() and tcp_sendpage() through inet_sendmsg() and inet_se...
Changli Gao [Sat, 10 Jul 2010 20:41:55 +0000 (20:41 +0000)]
inet, inet6: make tcp_sendmsg() and tcp_sendpage() through inet_sendmsg() and inet_sendpage()

a new boolean flag no_autobind is added to structure proto to avoid the autobind
calls when the protocol is TCP. Then sock_rps_record_flow() is called int the
TCP's sendmsg() and sendpage() pathes.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
----
 include/net/inet_common.h |    4 ++++
 include/net/sock.h        |    1 +
 include/net/tcp.h         |    8 ++++----
 net/ipv4/af_inet.c        |   15 +++++++++------
 net/ipv4/tcp.c            |   11 +++++------
 net/ipv4/tcp_ipv4.c       |    3 +++
 net/ipv6/af_inet6.c       |    8 ++++----
 net/ipv6/tcp_ipv6.c       |    3 +++
 8 files changed, 33 insertions(+), 20 deletions(-)
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: cleanups
Changli Gao [Sat, 10 Jul 2010 20:41:06 +0000 (20:41 +0000)]
net: cleanups

remove useless blanks.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
----
 include/net/inet_common.h |   55 ++++-------
 include/net/tcp.h         |  222 +++++++++++++++++-----------------------------
 include/net/udp.h         |   38 +++----
 3 files changed, 123 insertions(+), 192 deletions(-)
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoxtsonic: free irq if sonic_open() fails
Kulikov Vasiliy [Sat, 10 Jul 2010 01:01:44 +0000 (01:01 +0000)]
xtsonic: free irq if sonic_open() fails

xtsonic_open() doesn't check sonic_open() return code. If it is error
we must free requested IRQ.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agomacsonic: free irqs if sonic_open() fails
Kulikov Vasiliy [Sat, 10 Jul 2010 01:39:06 +0000 (01:39 +0000)]
macsonic: free irqs if sonic_open() fails

macsonic_open() doesn't check sonic_open() return code. If it is error
we must free requested IRQs.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agojazzsonic: free irq if sonic_open() fails
Kulikov Vasiliy [Sat, 10 Jul 2010 01:00:35 +0000 (01:00 +0000)]
jazzsonic: free irq if sonic_open() fails

jazzsonic_open() doesn't check sonic_open() return code. If it is error
we must free requested IRQ.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn: fix strlen() usage
Dan Carpenter [Sat, 10 Jul 2010 04:31:11 +0000 (04:31 +0000)]
isdn: fix strlen() usage

There was a missing "else" statement so the original code overflowed if
->master->name was too long.  Also the ->slave and ->master buffers can
hold names with 9 characters and a NULL so I cleaned it up to allow
another character.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago9p: strlen() doesn't count the terminator
Dan Carpenter [Fri, 9 Jul 2010 23:51:54 +0000 (23:51 +0000)]
9p: strlen() doesn't count the terminator

This is an off by one bug because strlen() doesn't count the NULL
terminator.  We strcpy() addr into a fixed length array of size
UNIX_PATH_MAX later on.

The addr variable is the name of the device being mounted.

CC: stable@kernel.org
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotc35815: fix iomap leak
Kulikov Vasiliy [Sat, 10 Jul 2010 00:03:18 +0000 (00:03 +0000)]
tc35815: fix iomap leak

If tc35815_init_one() fails we must unmap mapped regions.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoll_temac: Fix missing validate_addr hook
Denis Kirjanov [Sat, 10 Jul 2010 11:10:44 +0000 (11:10 +0000)]
ll_temac: Fix missing validate_addr hook

Fix missing validate_addr hook

Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4vf: fix TX Queue restart
Casey Leedom [Mon, 12 Jul 2010 21:39:07 +0000 (14:39 -0700)]
cxgb4vf: fix TX Queue restart

Fix up TX Queue Host Flow Control to cause an Egress Queue Status Update to
be generated when we run out of TX Queue Descriptors.  This will, in turn,
allow us to restart a stopped TX Queue.

Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agodepca: fix leaks in depca_module_init()
Kulikov Vasiliy [Mon, 12 Jul 2010 04:52:33 +0000 (04:52 +0000)]
depca: fix leaks in depca_module_init()

Since some of xxx_register_driver() can return error we must unregister
already registered drivers.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet/core: EXPORT_SYMBOL cleanups
Eric Dumazet [Fri, 9 Jul 2010 21:22:04 +0000 (21:22 +0000)]
net/core: EXPORT_SYMBOL cleanups

CodingStyle cleanups

EXPORT_SYMBOL should immediately follow the symbol declaration.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet/ipv4: EXPORT_SYMBOL cleanups
Eric Dumazet [Fri, 9 Jul 2010 21:22:10 +0000 (21:22 +0000)]
net/ipv4: EXPORT_SYMBOL cleanups

CodingStyle cleanups

EXPORT_SYMBOL should immediately follow the symbol declaration.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoac3200: fix error path
Kulikov Vasiliy [Fri, 9 Jul 2010 02:28:09 +0000 (02:28 +0000)]
ac3200: fix error path

Do not call free_irq() if request_irq() failed.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoat1700: fix double free_irq
Kulikov Vasiliy [Fri, 9 Jul 2010 02:31:26 +0000 (02:31 +0000)]
at1700: fix double free_irq

free_irq() is called both in net_close() and cleanup_card().  Since it
is requested in at1700_probe1(), leave free_irq() only in cleanup_card()
for balance.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: exclude registers with read side effects from register dumps
Dimitris Michailidis [Mon, 12 Jul 2010 00:33:48 +0000 (17:33 -0700)]
cxgb4: exclude registers with read side effects from register dumps

A few registers have side effects on reads, eg FIFO pointers that
auto advance or mailboxes which change ownership when read.  They are
unsafe to read so exclude them from ethtool register dumps.

Bump ethtool_regs.version to indicate the changed register set.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: implement the ETHTOOL_GRXFH command
Dimitris Michailidis [Sun, 11 Jul 2010 12:01:18 +0000 (12:01 +0000)]
cxgb4: implement the ETHTOOL_GRXFH command

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: add user manipulation of the RSS table
Dimitris Michailidis [Sun, 11 Jul 2010 12:01:17 +0000 (12:01 +0000)]
cxgb4: add user manipulation of the RSS table

Implement the get_rxnfc, get_rxfh_indir, and set_rxfh_indir ethtool
methods for user manipulation of the RSS table.  Besides the methods
themselves the rest of the changes here store, initialize, and write
the table contents.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: avoid duplicating some resource freeing code
Dimitris Michailidis [Sun, 11 Jul 2010 12:01:16 +0000 (12:01 +0000)]
cxgb4: avoid duplicating some resource freeing code

Currently there are two copies of some resource freeing code, turn it into
a function and call it.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: move the choice of interrupt type before net_device registration
Dimitris Michailidis [Sun, 11 Jul 2010 12:01:15 +0000 (12:01 +0000)]
cxgb4: move the choice of interrupt type before net_device registration

We need to settle on the kind of interrupts we'll be using, a choice that
also impacts the number of queues, before registering and making visible
the net_devices.  Move the relevant code up a bit.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Update version to 3.112
Matt Carlson [Sun, 11 Jul 2010 09:31:47 +0000 (09:31 +0000)]
tg3: Update version to 3.112

This patch updates the tg3 version to 3.112.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Fix some checkpatch errors
Matt Carlson [Sun, 11 Jul 2010 09:31:46 +0000 (09:31 +0000)]
tg3: Fix some checkpatch errors

This patch fixes the following checkpatch errors:

ERROR: do not use assignment in if condition
+ if ((mss = skb_shinfo(skb)->gso_size) != 0) {

ERROR: do not use assignment in if condition
+ if ((mss = skb_shinfo(skb)->gso_size) != 0) {

ERROR: space prohibited after that '!' (ctx:BxW)
+ if (! netif_carrier_ok(tp->dev) &&
      ^

ERROR: space required after that ',' (ctx:VxV)
+#define GET_REG32_LOOP(base,len) \
                            ^

ERROR: "(foo*)" should be "(foo *)"
+ memcpy(data, ((char*)&val) + b_offset, b_count);

ERROR: do not use assignment in if condition
+ if ((err = tg3_do_mem_test(tp, mem_tbl[i].offset,

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Revert PCIe tx glitch fix
Matt Carlson [Sun, 11 Jul 2010 09:31:45 +0000 (09:31 +0000)]
tg3: Revert PCIe tx glitch fix

This patch reverts commit 52cdf8526fe24f11d300b75458ddee017f3f4c88,
entitled "tg3: Prevent a PCIe tx glitch".  The problem does not have
any visible side-effects and happens too early for the driver to do
anything about it.  The proper place for this code is within the
device's bootcode.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Report driver version to firmware
Matt Carlson [Sun, 11 Jul 2010 09:31:44 +0000 (09:31 +0000)]
tg3: Report driver version to firmware

This patch changes the code so that the driver version can be reported
to the firmware in addition to the current use.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Relax 5717 serdes restriction
Matt Carlson [Sun, 11 Jul 2010 09:31:43 +0000 (09:31 +0000)]
tg3: Relax 5717 serdes restriction

tg3 is coded to refuse to attach to 5717 serdes devices.  Now that the
hardware is better supported, we can relax this restriction.  This patch
also fixes a recently introduced bug which will cause serdes parallel
detection not to work with 5780 class devices.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Fix IPv6 TSO code in tg3_start_xmit_dma_bug()
Matt Carlson [Sun, 11 Jul 2010 09:31:42 +0000 (09:31 +0000)]
tg3: Fix IPv6 TSO code in tg3_start_xmit_dma_bug()

The tg3_start_xmit_dma_bug() function was missing code to process IPv6
TSO packets.  This patch adds the missing support.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Fix single MSI-X vector coalescing
Matt Carlson [Sun, 11 Jul 2010 09:31:41 +0000 (09:31 +0000)]
tg3: Fix single MSI-X vector coalescing

The interrupt coalescing setup code used the TG3_FLG2_USING_MSIX flag to
determine whether or not to configure the rx coalescing parameters.
This is incorrect for the single MSI-X vector case.  This patch changes
the code to look at the TG3_FLG3_ENABLE_RSS instead.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: Revert RSS indir tbl setup change
Matt Carlson [Sun, 11 Jul 2010 09:31:40 +0000 (09:31 +0000)]
tg3: Revert RSS indir tbl setup change

This patch reverts commit 2601d8a0049c8b5d29cd5adb844a305a804e505f.  A
spectacular set of coincidences made it look as though the table was
setup incorrectly.  The original version was correct.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago82596: free resources on error
Kulikov Vasiliy [Fri, 9 Jul 2010 02:25:40 +0000 (02:25 +0000)]
82596: free resources on error

IRQ 56 was not freed anywhere (neither in i596_open() on error nor in
i596_close()), rx_bufs were not freed if init_i596_mem() fails,
netif_stop_queue() was not called.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years ago82596: do not panic on out of memory
Kulikov Vasiliy [Fri, 9 Jul 2010 02:25:22 +0000 (02:25 +0000)]
82596: do not panic on out of memory

If dev_alloc_skb() failed then free already allocated skbs.
remove_rx_bufs() can be called multiple times, so set rbd->skb to NULL
to avoid double free. remove_rx_bufs() was moved upwards to be seen by
init_rx_bufs().

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobe2net: Patch to determine if function is VF while running in guest OS.
Sarveshwar Bandi [Fri, 9 Jul 2010 01:43:55 +0000 (01:43 +0000)]
be2net: Patch to determine if function is VF while running in guest OS.

When driver is loaded in guest OS, the pci variables is_virtfn and is_physfn are
both set to 0. This change uses registers in controller to determine the same.

Signed-off-by: Sarveshwar Bandi <sarveshwarb@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agomacvtap: Use dev_t for macvtap_major.
David S. Miller [Sun, 11 Jul 2010 02:25:50 +0000 (19:25 -0700)]
macvtap: Use dev_t for macvtap_major.

Reported-by: "Robert P. J. Day" <rpjday@crashcourse.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoqlcnic: Disable admin tools interface for VF driver mode
Anirban Chakraborty [Fri, 9 Jul 2010 13:15:05 +0000 (13:15 +0000)]
qlcnic: Disable admin tools interface for VF driver mode

Non privileged (VF) driver will not be able to carry out any of the FW update,
etc. operations. Disable the tools interface by not creating the sysfs nodes.

Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoqlcnic: Check FW capability for TSO
Anirban Chakraborty [Fri, 9 Jul 2010 13:14:58 +0000 (13:14 +0000)]
qlcnic: Check FW capability for TSO

Driver checks TSO capability from FW before enabling it.

Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: Document that dev_get_stats() returns the given pointer
Ben Hutchings [Fri, 9 Jul 2010 09:12:41 +0000 (09:12 +0000)]
net: Document that dev_get_stats() returns the given pointer

Document that dev_get_stats() returns the same stats pointer it was
given.  Remove const qualification from the returned pointer since the
caller may do what it likes with that structure.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: Get rid of rtnl_link_stats64 / net_device_stats union
Ben Hutchings [Fri, 9 Jul 2010 09:11:52 +0000 (09:11 +0000)]
net: Get rid of rtnl_link_stats64 / net_device_stats union

In commit be1f3c2c027cc5ad735df6a45a542ed1db7ec48b "net: Enable 64-bit
net device statistics on 32-bit architectures" I redefined struct
net_device_stats so that it could be used in a union with struct
rtnl_link_stats64, avoiding the need for explicit copying or
conversion between the two.  However, this is unsafe because there is
no locking required and no lock consistently held around calls to
dev_get_stats() and use of the statistics structure it returns.

In commit 28172739f0a276eb8d6ca917b3974c2edb036da3 "net: fix 64 bit
counters on 32 bit arches" Eric Dumazet dealt with that problem by
requiring callers of dev_get_stats() to provide storage for the
result.  This means that the net_device::stats64 field and the padding
in struct net_device_stats are now redundant, so remove them.

Update the comment on net_device_ops::ndo_get_stats64 to reflect its
new usage.

Change dev_txq_stats_fold() to use struct rtnl_link_stats64, since
that is what all its callers are really using and it is no longer
going to be compatible with struct net_device_stats.

Eric Dumazet suggested the separate function for the structure
conversion.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agousb/atm/ueagle-atm.c: call atm_dev_signal_change() when signal changes.
Karl Hiramoto [Thu, 8 Jul 2010 20:55:38 +0000 (20:55 +0000)]
usb/atm/ueagle-atm.c: call atm_dev_signal_change() when signal changes.

Propagate signal changes to upper atm layer.

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agousb/atm/speedtch.c: call atm_dev_signal_change() when signal changes.
Karl Hiramoto [Thu, 8 Jul 2010 20:55:37 +0000 (20:55 +0000)]
usb/atm/speedtch.c: call atm_dev_signal_change() when signal changes.

Propagate signal changes to upper atm layer.

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agousb/atm/cxacru.c: call atm_dev_signal_change() when signal changes.
Karl Hiramoto [Thu, 8 Jul 2010 20:55:36 +0000 (20:55 +0000)]
usb/atm/cxacru.c: call atm_dev_signal_change() when signal changes.

Propagate signal changes to upper atm layer.

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoatm/suni.c: call atm_dev_signal_change() when signal changes.
Karl Hiramoto [Thu, 8 Jul 2010 20:55:35 +0000 (20:55 +0000)]
atm/suni.c: call atm_dev_signal_change() when signal changes.

Propagate changes to upper atm layer.

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoatm/solos-pci: call atm_dev_signal_change() when signal changes.
Karl Hiramoto [Thu, 8 Jul 2010 20:55:34 +0000 (20:55 +0000)]
atm/solos-pci: call atm_dev_signal_change() when signal changes.

Propagate changes to upper atm layer, so userspace netmontor knows when DSL
showtime reached.

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoatm/idt77105.c: call atm_dev_signal_change() when signal changes.
Karl Hiramoto [Thu, 8 Jul 2010 20:55:33 +0000 (20:55 +0000)]
atm/idt77105.c: call atm_dev_signal_change() when signal changes.

Propagate changes to upper atm layer.

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoatm/adummy: add syfs DEVICE_ATTR to change signal
Karl Hiramoto [Thu, 8 Jul 2010 20:55:32 +0000 (20:55 +0000)]
atm/adummy: add syfs DEVICE_ATTR to change signal

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoatm/br2684: register notifier event for carrier signal changes.
Karl Hiramoto [Thu, 8 Jul 2010 20:55:31 +0000 (20:55 +0000)]
atm/br2684: register notifier event for carrier signal changes.

When a signal change event occurs call netif_carrier_on/off.

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoatm: propagate signal changes via notifier
Karl Hiramoto [Thu, 8 Jul 2010 20:55:30 +0000 (20:55 +0000)]
atm: propagate signal changes via notifier

Add notifier chain for changes in atm_dev.

Clients like br2684 will call register_atmdevice_notifier() to be notified of
changes. Drivers will call atm_dev_signal_change() to notify clients like
br2684 of the change.

On DSL and ATM devices it's usefull to have a know if you have a carrier
signal. netdevice LOWER_UP changes can be propagated to userspace via netlink
monitor.

Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4vf: Implement "Unhandled Interrupts" statistic
Casey Leedom [Thu, 8 Jul 2010 17:05:48 +0000 (10:05 -0700)]
cxgb4vf: Implement "Unhandled Interrupts" statistic

Implement "Unhandled Interrupts" statistic so we can detect when the
hardware tells us that it things we have work to do but we don't find
anything ...

Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agofec_mpc52xx: fix error path
Kulikov Vasiliy [Fri, 9 Jul 2010 06:44:26 +0000 (23:44 -0700)]
fec_mpc52xx: fix error path

Error path in mpc52xx_fec_probe() is broken.
We must free everything that we've allocated.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoll_temac: fix memory leak
Kulikov Vasiliy [Fri, 9 Jul 2010 06:43:20 +0000 (23:43 -0700)]
ll_temac: fix memory leak

If of_iomap() or irq_of_parse_and_map() fail then np must be freed.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoax88796: free irq on error
Kulikov Vasiliy [Fri, 9 Jul 2010 06:42:40 +0000 (23:42 -0700)]
ax88796: free irq on error

If ax_ei_open() failed we must free previously requested irq.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoks8842: Remove unnecessary bank select.
Richard Röjfors [Fri, 9 Jul 2010 06:36:59 +0000 (23:36 -0700)]
ks8842: Remove unnecessary bank select.

This patch removes an unnecessary bank select before resetting the
controller.

Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoks8842: Do the TX timeout work in workqueue context.
Richard Röjfors [Fri, 9 Jul 2010 06:36:30 +0000 (23:36 -0700)]
ks8842: Do the TX timeout work in workqueue context.

Currently all code that needs to be run at TX timeout is done in the
calling context, where bottom halves are disabled. Some of the code
blocks, so it needs to be done in a different context. This patch
adds in a work struct which is scheduled at TX timeout. Then the
timeout code is executed within work queue context.

Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoll_temac: fix DMA resources leak
Denis Kirjanov [Thu, 8 Jul 2010 10:24:51 +0000 (10:24 +0000)]
ll_temac: fix DMA resources leak

V2: Check pointers before releasing resources.

Fix DMA resources leak.
Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
14 years agosfc: Remove unused field left from mis-merge
Ben Hutchings [Thu, 8 Jul 2010 13:36:32 +0000 (13:36 +0000)]
sfc: Remove unused field left from mis-merge

Commit eedc765ca4b19a41cf0b921a492ac08d640060d1 merged changes from
net-2.6 that added and then removed efx_nic::port_num, which was also
added in net-next-2.6.  The end result should be that it is removed,
since it is now unused.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: allow TSO on vlan devices
Eric Dumazet [Thu, 8 Jul 2010 06:14:55 +0000 (06:14 +0000)]
tg3: allow TSO on vlan devices

Similar to commit 72dccb01e8632aa (bnx2: Update vlan_features)

In order to enable TSO on vlan devices, tg3 needs to update
dev->vlan_features.

Tested on HP NC326m (aka BCM5715S (rev a3))

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agotg3: 64 bit stats on all arches
Eric Dumazet [Wed, 7 Jul 2010 20:44:24 +0000 (20:44 +0000)]
tg3: 64 bit stats on all arches

Now core network is able to handle 64 bit netdevice stats on 32 bit
arches, we can provide them for tg3, since hardware maintains 64 bit
counters.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2: 64 bit stats on all arches
Eric Dumazet [Thu, 8 Jul 2010 04:08:43 +0000 (04:08 +0000)]
bnx2: 64 bit stats on all arches

Now core network is able to handle 64 bit netdevice stats on 32 bit
arches, we can provide them for bnx2, since hardware maintains some 64
bit counters.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb3: simplify need_skb_unmap
FUJITA Tomonori [Wed, 7 Jul 2010 23:52:38 +0000 (23:52 +0000)]
cxgb3: simplify need_skb_unmap

We can use CONFIG_NEED_DMA_MAP_STATE to see if a platform does real
DMA unmapping.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4vf: remove obsolete DECLARE_PCI_UNMAP_ADDR usage
FUJITA Tomonori [Wed, 7 Jul 2010 23:52:37 +0000 (23:52 +0000)]
cxgb4vf: remove obsolete DECLARE_PCI_UNMAP_ADDR usage

We could use DEFINE_DMA_UNMAP_ADDR instead but using
CONFIG_NEED_DMA_MAP_STATE is a simpler way to see if a platform does
real DMA unmapping.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agovlan: allow TSO setting on vlan interfaces
Eric Dumazet [Fri, 9 Jul 2010 06:12:21 +0000 (23:12 -0700)]
vlan: allow TSO setting on vlan interfaces

When we need to shape traffic using low speeds, we need to
disable tso on network interface :

ethtool -K eth0.2240 tso off

It seems vlan interfaces miss the set_tso() ethtool method.

Before enabling TSO, we must check real device supports
TSO for VLAN-tagged packets and enables TSO.

Note that a TSO change on real device propagates TSO setting
on all vlans, even if admin selected a different TSO setting.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agogre: propagate ipv6 transport class
Stephen Hemminger [Fri, 9 Jul 2010 04:35:58 +0000 (21:35 -0700)]
gre: propagate ipv6 transport class

This patch makes IPV6 over IPv4 GRE tunnel propagate the transport
class field from the underlying IPV6 header to the IPV4 Type Of Service
field. Without the patch, all IPV6 packets in tunnel look the same to QoS.

This assumes that IPV6 transport class is exactly the same
as IPv4 TOS. Not sure if that is always the case?  Maybe need
to mask off some bits.

The mask and shift to get tclass is copied from ipv6/datagram.c

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: fix for new ndo_get_stats64 signature
Dimitris Michailidis [Wed, 7 Jul 2010 16:11:25 +0000 (16:11 +0000)]
cxgb4: fix for new ndo_get_stats64 signature

The change to ndo_get_stats64 in "net: fix 64 bit counters on 32 bit arches"
missed cxgb4.  Fix it.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agob44: remove unused dma_desc_align_mask
FUJITA Tomonori [Thu, 8 Jul 2010 01:24:29 +0000 (18:24 -0700)]
b44: remove unused dma_desc_align_mask

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoethoc: Fix warning in ethoc_init_ring().
David S. Miller [Thu, 8 Jul 2010 01:23:19 +0000 (18:23 -0700)]
ethoc: Fix warning in ethoc_init_ring().

Get rid of the pointless back-and-forth casting of dev->mem_start
from long to pointer back to long again.

Also fixes a warning reported by Stephen Rothwell:

drivers/net/ethoc.c: In function 'ethoc_init_ring':
drivers/net/ethoc.c:302: warning: assignment makes integer from pointer without a cast

Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoniu: BUG on inability to find page in rx page hashes.
David S. Miller [Thu, 8 Jul 2010 01:20:30 +0000 (18:20 -0700)]
niu: BUG on inability to find page in rx page hashes.

Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agocxgb4: Use kfree_skb for skb pointers
Denis Kirjanov [Wed, 30 Jun 2010 23:45:52 +0000 (23:45 +0000)]
cxgb4: Use kfree_skb for skb pointers

Use kfree_skb for skb pointers

Acked-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: remove EXPERIMENTAL tag from GIGASET_CAPI
Tilman Schmidt [Mon, 5 Jul 2010 14:19:30 +0000 (14:19 +0000)]
isdn/gigaset: remove EXPERIMENTAL tag from GIGASET_CAPI

The CAPI variant of the Gigaset drivers can, in combination with
capidrv, now fully replace the legacy ISDN4Linux variant. All
reported problems have been fixed. So remove the EXPERIMENTAL tag
from the Kconfig option selecting it, and adapt the documentation
accordingly to encourage users to switch to it.

Impact: documentation/status update, no functional change
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: document dial-out number format
Tilman Schmidt [Mon, 5 Jul 2010 14:19:25 +0000 (14:19 +0000)]
isdn/gigaset: document dial-out number format

Add a paragraph to the driver documentation describing how to make
internal and external calls.

Impact: documentation
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: fix leaks in error path
Tilman Schmidt [Mon, 5 Jul 2010 14:19:19 +0000 (14:19 +0000)]
isdn/gigaset: fix leaks in error path

Take care to free all previously allocated ressources in the
"out of memory" error path of the ISDN_CMD_DIAL branch.
Based on an original patch by Dan Carpenter.

Impact: bugfix
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Acked-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: reduce syslog spam
Tilman Schmidt [Mon, 5 Jul 2010 14:19:14 +0000 (14:19 +0000)]
isdn/gigaset: reduce syslog spam

Downgrade some error messages which occur frequently during
normal operation to debug messages.

Impact: logging
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: remove obsolete compile time options
Tilman Schmidt [Mon, 5 Jul 2010 14:19:09 +0000 (14:19 +0000)]
isdn/gigaset: remove obsolete compile time options

Remove compile time options in the Gigaset ISDN driver that aren't
going to be changed anymore, and an obsolete FIXME comment.

Impact: cleanup
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: handle Supplementary Service Listen
Tilman Schmidt [Mon, 5 Jul 2010 14:19:04 +0000 (14:19 +0000)]
isdn/gigaset: handle Supplementary Service Listen

Add minimal handling for the non-optional CAPI FACILITY_REQ
Supplementary Service function Listen.

Impact: bugfix
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: improve CAPI message debugging
Tilman Schmidt [Mon, 5 Jul 2010 14:18:59 +0000 (14:18 +0000)]
isdn/gigaset: improve CAPI message debugging

Provide better control of debugging output for DATA_B3 CAPI messages
which tend to occur very frequently.

Impact: logging
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: drop debug check on isochronous write
Tilman Schmidt [Mon, 5 Jul 2010 14:18:53 +0000 (14:18 +0000)]
isdn/gigaset: drop debug check on isochronous write

With CONFIG_GIGASET_DEBUG set, every isochronous USB frame after
an erroneous one was checked for more errors. This produced only
noise messages in practice, so drop it.

Impact: cleanup
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: ignore irrelevant device responses
Tilman Schmidt [Mon, 5 Jul 2010 14:18:48 +0000 (14:18 +0000)]
isdn/gigaset: ignore irrelevant device responses

Downgrade the Gigaset driver's reaction to unknown AT responses from
the device from warning to debug level, and remove the handling of
some device responses which aren't relevant for the driver's
operation.

Impact: cleanup
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: avoid copying AT commands twice
Tilman Schmidt [Mon, 5 Jul 2010 14:18:43 +0000 (14:18 +0000)]
isdn/gigaset: avoid copying AT commands twice

Change the Gigaset driver's internal write_cmd interface to accept a
cmdbuf structure instead of a string. This avoids copying formatted
AT commands a second time.

Impact: optimization
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn/gigaset: adjust usb_gigaset tty write buffer limit
Tilman Schmidt [Mon, 5 Jul 2010 14:18:37 +0000 (14:18 +0000)]
isdn/gigaset: adjust usb_gigaset tty write buffer limit

The usb_gigaset driver's write buffer limit was different from those
of the others for no good reason. Set it to the same value, derived
from the Siemens documentation.

Impact: cosmetic
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
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, 7 Jul 2010 22:59:38 +0000 (15:59 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

14 years agogianfar: code cleanup
Eran Liberty [Wed, 7 Jul 2010 22:54:54 +0000 (15:54 -0700)]
gianfar: code cleanup

This patch relates to "[PATCH] gainfar.c : skb_over_panic
(kernel-2.6.32.15)"

While in 2.6.32.15 it actually fixed a bug here it merely cleans up
the previous attempts to fix the bug with a more coherent code.

Currently before queuing skb into the rx_recycle it is
"un-skb_reserve"-ed so when taken out in gfar_new_skb() it wont be
reserved twice.

This patch makes sure the alignment skb_reserve is done once, upon
allocating the skb and not when taken out of the rx_recycle
pool. Eliminating the need to undo anything before queue skb back to
the pool.

NOTE: This patch will compile and is fairly straight forward but I do
not have environment to test it as I did with the 2.6.32.15 fix.

Signed-off-by: Eran Liberty <liberty@extricom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: sh_eth: add support for SH7757's ETHER
Yoshihiro Shimoda [Mon, 5 Jul 2010 18:32:50 +0000 (18:32 +0000)]
net: sh_eth: add support for SH7757's ETHER

The SH7757 has 2 Fast Ethernet controller (ETHER) and 2 Gigabit Ethernet
Controller (GETHER). This patch supports 2 ETHER only.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobnx2x: Set RXHASH for LRO packets
Vladislav Zolotarov [Tue, 6 Jul 2010 04:09:43 +0000 (04:09 +0000)]
bnx2x: Set RXHASH for LRO packets

Set Toeplitz hash both for LRO and none-LRO skbs.
The first CQE (TPA_START) will contain a hash for an LRO packet.

Current code sets skb->rx_hash for none-LRO skbs only.

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet/ipv4/ip_output.c: Removal of unused variable in ip_fragment()
George Kadianakis [Tue, 6 Jul 2010 11:44:12 +0000 (11:44 +0000)]
net/ipv4/ip_output.c: Removal of unused variable in ip_fragment()

Removal of unused integer variable in ip_fragment().

Signed-off-by: George Kadianakis <desnacked@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoNET: SB1250: Initialize .owner
Ralf Baechle [Tue, 6 Jul 2010 05:18:11 +0000 (05:18 +0000)]
NET: SB1250: Initialize .owner

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
 drivers/net/sb1250-mac.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: fix 64 bit counters on 32 bit arches
Eric Dumazet [Wed, 7 Jul 2010 21:58:56 +0000 (14:58 -0700)]
net: fix 64 bit counters on 32 bit arches

There is a small possibility that a reader gets incorrect values on 32
bit arches. SNMP applications could catch incorrect counters when a
32bit high part is changed by another stats consumer/provider.

One way to solve this is to add a rtnl_link_stats64 param to all
ndo_get_stats64() methods, and also add such a parameter to
dev_get_stats().

Rule is that we are not allowed to use dev->stats64 as a temporary
storage for 64bit stats, but a caller provided area (usually on stack)

Old drivers (only providing get_stats() method) need no changes.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agovxge: show startup message with KERN_INFO
Wu Fengguang [Tue, 6 Jul 2010 03:02:03 +0000 (03:02 +0000)]
vxge: show startup message with KERN_INFO

The original KERN_CRIT will mess up terminals.

CC: Sreenivasa Honnur <Sreenivasa.Honnur@neterion.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoll_temac: Fix missing iounmaps
Denis Kirjanov [Mon, 5 Jul 2010 21:44:20 +0000 (21:44 +0000)]
ll_temac: Fix missing iounmaps

Fix missing iounmaps.

Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobridge: Clear IPCB before possible entry into IP stack
Herbert Xu [Mon, 5 Jul 2010 21:29:28 +0000 (21:29 +0000)]
bridge: Clear IPCB before possible entry into IP stack

The bridge protocol lives dangerously by having incestuous relations
with the IP stack.  In this instance an abomination has been created
where a bogus IPCB area from a bridged packet leads to a crash in
the IP stack because it's interpreted as IP options.

This patch papers over the problem by clearing the IPCB area in that
particular spot.  To fix this properly we'd also need to parse any
IP options if present but I'm way too lazy for that.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Cheers,
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoforcedeth: correct valid flag
Julia Lawall [Tue, 6 Jul 2010 05:15:47 +0000 (22:15 -0700)]
forcedeth: correct valid flag

Elsewhere in the "optimized" functions, the "2" constants are used.
NV_TX_VALID and NV_TX2_VALID have the same value.

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agobridge br_multicast: BUG: unable to handle kernel NULL pointer dereference
Herbert Xu [Mon, 5 Jul 2010 14:50:08 +0000 (14:50 +0000)]
bridge br_multicast: BUG: unable to handle kernel NULL pointer dereference

On Tue, Jul 06, 2010 at 08:48:35AM +0800, Herbert Xu wrote:
>
> bridge: Restore NULL check in br_mdb_ip_get

Resend with proper attribution.

bridge: Restore NULL check in br_mdb_ip_get

Somewhere along the line the NULL check in br_mdb_ip_get went
AWOL, causing crashes when we receive an IGMP packet with no
multicast table allocated.

This patch restores it and ensures all br_mdb_*_get functions
use it.

Reported-by: Frank Arnold <frank.arnold@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Thanks,
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet: Fix definition of netif_vdbg() when VERBOSE_DEBUG is defined
Ben Hutchings [Fri, 2 Jul 2010 07:08:44 +0000 (07:08 +0000)]
net: Fix definition of netif_vdbg() when VERBOSE_DEBUG is defined

netif_vdbg() was originally defined as entirely equivalent to
netdev_vdbg(), but I assume that it was intended to take the same
parameters as netif_dbg() etc.  (Currently it is only used by the
sfc driver, in which I worked on that assumption.)

In commit a4ed89c I changed the definition used when VERBOSE_DEBUG is
not defined, but I failed to notice that the definition used when
VERBOSE_DEBUG is defined was also not as I expected.  Change that to
match netif_dbg() as well.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agonet/ne: fix memory leak in ne_drv_probe()
Kulikov Vasiliy [Sat, 3 Jul 2010 05:20:42 +0000 (05:20 +0000)]
net/ne: fix memory leak in ne_drv_probe()

net_device allocated with alloc_eip_netdev() must be freed.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoisdn: avoid calling tty_ldisc_flush() in atomic context
Tilman Schmidt [Mon, 5 Jul 2010 14:18:27 +0000 (14:18 +0000)]
isdn: avoid calling tty_ldisc_flush() in atomic context

Remove the call to tty_ldisc_flush() from the RESULT_NO_CARRIER
branch of isdn_tty_modem_result(), as already proposed in commit
00409bb045887ec5e7b9e351bc080c38ab6bfd33.
This avoids a "sleeping function called from invalid context" BUG
when the hardware driver calls the statcallb() callback with
command==ISDN_STAT_DHUP in atomic context, which in turn calls
isdn_tty_modem_result(RESULT_NO_CARRIER, ~), and from there,
tty_ldisc_flush() which may sleep.

Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoDocumentation/isdn: CAPI controller interface amendment
Tilman Schmidt [Mon, 5 Jul 2010 14:18:22 +0000 (14:18 +0000)]
Documentation/isdn: CAPI controller interface amendment

Mention that the CAPI controller methods load_firmware() and
reset_ctr() are asynchronous, and should signal completion.

Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
14 years agoqlge: Change version to v1.00.00.25.00.00-01.
Ron Mercer [Mon, 5 Jul 2010 12:19:42 +0000 (12:19 +0000)]
qlge: Change version to v1.00.00.25.00.00-01.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>