07 Apr, 2010
9 commits
-
Conflicts:
drivers/net/bonding/bond_main.c
drivers/net/via-velocity.c
drivers/net/wireless/iwlwifi/iwl-agn.c -
This patch adds setting of the urb transfer flag URB_ZERO_PACKET before
submitting an urb for drivers that have requested it (by advertising flag
FLAG_SEND_ZLP).
The modification is in usbnet.c function usbnet_start_xmit().
This patch only adds the zero length flag.
A subsequent patch will address the buggy code we found when devices do not
advertise FLAG_SEND_ZLP in which case there is a possibility of transferring
packets with non-deterministic length.This patch has been tested on kernel-2.6.34-rc3.
This patch has been checked against net-2.6 tree.
Signed-off-by: Elina Pasheva
Signed-off-by: Rory Filer
Signed-off-by: David S. Miller -
This is very simple driver for SuperH Mobile IrDA
which support SIR/MIR/FIR.
This patch add only SIR support for now.Signed-off-by: Kuninori Morimoto
Signed-off-by: David S. Miller -
On sh_sir_probe function, there was a possibility that
iounmap is executed even though self->membase was NULL when error case.
This patch modify it.Signed-off-by: Kuninori Morimoto
Signed-off-by: David S. Miller -
On sh_sir_open function, there was a possibility that
err variable didn't have value even though it is return value.
This patch modify it.Signed-off-by: Kuninori Morimoto
Signed-off-by: David S. Miller -
struct timespec ts was alreay defined. Reuse the previously
defined one and reduce the memory footprint on the stack by
16 bytes.Signed-off-by: Hagen Paul Pfeifer
Signed-off-by: David S. Miller -
This patch makes it explicit in the API that all fields in subscriptions and events exchanged with the Topology Server must be in
network byte order.
It also ensures that all fields of a subscription are compared when cancelling a subscription, in order to avoid inadvertent
cancelling of the wrong subscription.
Finally, the tipc module version is updated to 2.0.0, to reflect the API change.Signed-off-by: Jon Maloy
Signed-off-by: David S. Miller -
This patch adds support for using the LL TEMAC Ethernet driver on
non-Virtex 5 platforms by adding support for accessing the Soft DMA
registers as if they were memory mapped instead of solely through the
DCR's (available on the Virtex 5).The patch also updates the driver so that it runs on the MicroBlaze.
The changes were tested on the PowerPC 440, PowerPC 405, and the
MicroBlaze platforms.Signed-off-by: John Tyner
Signed-off-by: John Linn
Signed-off-by: David S. Miller -
Registers and their bits from mii.h. Courtesy from ed.
Signed-off-by: Francois Romieu
Signed-off-by: David S. Miller
06 Apr, 2010
16 commits
-
Signed-off-by: Ralf Baechle
Signed-off-by: David S. Miller -
This patch updates the tg3 version to 3.109.
Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
The tg3_dump_state() function is commented out and doesn't get used much
when debugging efforts are underway. The chip architecture has also
changed enough that any debugging effort that might use it would have to
tailor it to the capabilities of the hardware. This patch just removes
the function entirely.Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch cleans up the code style as it pertains to if statements.
Signed-off-by: Matt Carlson
Signed-off-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch fixes checkpatch errors related to switch statements.
Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch fixes whitespace errors, preprocessor definition placement
oddities and updates comments.Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch extracts the firmware version from the VPD area and changes
the code to prefer that version version over the manually extracted
version.Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
The code that extracts the firmware version from the device's NVRAM
assumes the firmware version member is a clean slate. The following
patch will add code to extract the firmware version from the VPD area
of NVRAM, so this assumption will no longer be true. This patch adjusts
the versioning code to respect the VPD version if it exists.Signed-off-by: Matt Carlson
Signed-off-by: Benjamin Li
Reviewed-by: Michael Chan
Signed-off-by: David S. Miller -
Commit 05dbe005386e7521153dce6c5ad95c98b73b80c7, "Use (pr|netdev)_
macro helpers" extended some of the message lines longer than 80 chars.
This patch reels the line lengths back in.Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
Some uses of netdev_err() happen before the device has been registered.
This will cause the messages to be prepended with "(unregistered
net_device)" strings. We can clean up the message by using dev_err()
instead.Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
All the instances of pr_err() in the tg3 driver have better
alternatives. This patch replaces all pr_err() calls.Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
When creating the new tg3_poll_msix() function, the likely() compiler
hint was dropped. This patch reintroduces it.Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
The offset to the MII_TG3_DSP_EXP8 register is incorrect. Fix it.
Signed-off-by: Matt Carlson
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
Fix kernel panic by NULL pointer dereference in the context of
ieee80211_ops->prepare_multicast().This bug was introduced by commit 22bedad3c.. ("net: convert
multicast list to list_head").Call __hw_addr_init() in ieee80211_alloc_hw() to initialize
list_head of private device multicast list, like we do in
bond_init().Signed-off-by: YOSHIFUJI Hideaki
Reviewed-by: Jiri Pirko
Signed-off-by: David S. Miller -
As noticed by Changli Gao, we must call local_irq_enable() after
rps_unlock()Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
Fix spin_unlock_irq which needs to be rps_unlock.
Signed-off-by: Tom Herbert
Acked-by: Eric Dumazet
Signed-off-by: David S. Miller
04 Apr, 2010
15 commits
-
Followup to commit 789a4a2c
(l2tp: Add support for static unmanaged L2TPv3 tunnels)One missing init in l2tp_tunnel_sock_create() could access random kernel
memory, and a bit field should be unsigned.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
Change SCTP IPv6 code to use ipv6_addr_copy()
Signed-off-by: Brian Haley
Signed-off-by: David S. Miller -
When ip_append() fails because of socket limit or memory shortage,
increment ICMP_MIB_OUTERRORS counter, so that "netstat -s" can report
these errors.LANG=C netstat -s | grep "ICMP messages failed"
0 ICMP messages failedFor IPV6, implement ICMP6_MIB_OUTERRORS counter as well.
# grep Icmp6OutErrors /proc/net/dev_snmp6/*
/proc/net/dev_snmp6/eth0:Icmp6OutErrors 0
/proc/net/dev_snmp6/lo:Icmp6OutErrors 0Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
smc91c92_cs:
*cvt_ascii_address returns 0, if success.
*call free_netdev, if we can't find hardware address.Signed-off-by: Ken Kawasaki
Signed-off-by: David S. Miller -
We have to check CONFIG_L2TP_DEBUGFS_MODULE as well as
CONFIG_L2TP_DEBUGFS.Signed-off-by: David S. Miller
-
Signed-off-by: David S. Miller
-
This patch adds documentation about the L2TPv3 functionality.
Signed-off-by: James Chapman
Reviewed-by: Randy Dunlap
Signed-off-by: David S. Miller -
This patch adds support for static (unmanaged) L2TPv3 tunnels, where
the tunnel socket is created by the kernel rather than being created
by userspace. This means L2TP tunnels and sessions can be created
manually, without needing an L2TP control protocol implemented in
userspace. This might be useful where the user wants a simple ethernet
over IP tunnel.A patch to iproute2 adds a new command set under "ip l2tp" to make use
of this feature. This will be submitted separately.Signed-off-by: James Chapman
Reviewed-by: Randy Dunlap
Signed-off-by: David S. Miller -
The existing pppol2tp driver exports debug info to
/proc/net/pppol2tp. Rather than adding info to that file for the new
functionality added in this patch series, we add new files in debugfs,
leaving the old /proc file for backwards compatibility (L2TPv2 only).Currently only one file is provided: l2tp/tunnels, which lists
internal debug info for all l2tp tunnels and sessions. More files may
be added later. The info is for debug and problem analysis only -
userspace apps should use netlink to obtain status about l2tp tunnels
and sessions.Although debugfs does not support net namespaces, the tunnels and
sessions dumped in l2tp/tunnels are only those in the net namespace of
the process reading the file.Signed-off-by: James Chapman
Signed-off-by: David S. Miller -
This driver presents a regular net_device for each L2TP ethernet
pseudowire instance. These interfaces are named l2tpethN by default,
though userspace can specify an alternative name when the L2TP
session is created, if preferred. When the pseudowire is established,
regular Linux networking utilities may be used to configure the
interface, i.e. give it IP address info or add it to a bridge. Any
data passed over the interface is carried over an L2TP tunnel.Signed-off-by: James Chapman
Reviewed-by: Randy Dunlap
Signed-off-by: David S. Miller -
Reader/write locks are discouraged because they are slower than spin
locks. So this patch converts the rwlocks used in the per_net structs
to rcu.Signed-off-by: James Chapman
Signed-off-by: David S. Miller -
In L2TPv3, we need to create/delete/modify/query L2TP tunnel and
session contexts. The number of parameters is significant. So let's
use netlink. Userspace uses this API to control L2TP tunnel/session
contexts in the kernel.The previous pppol2tp driver was managed using [gs]etsockopt(). This
API is retained for backwards compatibility. Unlike L2TPv2 which
carries only PPP frames, L2TPv3 can carry raw ethernet frames or other
frame types and these do not always have an associated socket
family. Therefore, we need a way to use L2TP sessions that doesn't
require a socket type for each supported frame type. Hence netlink is
used.Signed-off-by: James Chapman
Reviewed-by: Randy Dunlap
Signed-off-by: David S. Miller -
This lets kernel modules which use genl netlink APIs serialize netlink
processing.Signed-off-by: James Chapman
Reviewed-by: Randy Dunlap
Signed-off-by: David S. Miller -
This patch adds a new L2TPIP socket family and modifies the core to
handle the case where there is no UDP header in the L2TP
packet. L2TP/IP uses IP protocol 115. Since L2TP/UDP and L2TP/IP
packets differ in layout, the datapath packet handling code needs
changes too. Userspace uses an L2TPIP socket instead of a UDP socket
when IP encapsulation is required.We can't use raw sockets for this because the semantics of raw sockets
don't lend themselves to the socket-per-tunnel model - we need toSigned-off-by: David S. Miller
-
This patch makes changes to the L2TP PPP code for L2TPv3.
The existing code has some assumptions about the L2TP header which are
broken by L2TPv3. Also the sockaddr_pppol2tp structure of the original
code is too small to support the increased size of the L2TPv3 tunnel
and session id, so a new sockaddr_pppol2tpv3 structure is needed. In
the socket calls, the size of this structure is used to tell if the
operation is for L2TPv2 or L2TPv3.Signed-off-by: James Chapman
Reviewed-by: Randy Dunlap
Signed-off-by: David S. Miller