]> Git Repo - linux.git/log
linux.git
15 years agoIPv6: data structure changes for new socket options
Brian Haley [Fri, 23 Apr 2010 11:26:07 +0000 (11:26 +0000)]
IPv6: data structure changes for new socket options

Add underlying data structure changes and basic setsockopt()
and getsockopt() support for IPV6_RECVPATHMTU, IPV6_PATHMTU,
and IPV6_DONTFRAG.  IPV6_PATHMTU is actually fully functional
at this point.

Signed-off-by: Brian Haley <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agol2tp_eth: fix memory allocation
Jiri Pirko [Fri, 23 Apr 2010 01:01:52 +0000 (01:01 +0000)]
l2tp_eth: fix memory allocation

Since .size is set properly in "struct pernet_operations l2tp_eth_net_ops",
allocating space for "struct l2tp_eth_net" by hand is not correct, even causes
memory leakage.

Signed-off-by: Jiri Pirko <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agol2tp: fix memory allocation
Jiri Pirko [Fri, 23 Apr 2010 00:53:39 +0000 (00:53 +0000)]
l2tp: fix memory allocation

Since .size is set properly in "struct pernet_operations l2tp_net_ops",
allocating space for "struct l2tp_net" by hand is not correct, even causes
memory leakage.

Signed-off-by: Jiri Pirko <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agogianfar: Fix potential oops during OF address translation
Anton Vorontsov [Fri, 23 Apr 2010 07:12:44 +0000 (07:12 +0000)]
gianfar: Fix potential oops during OF address translation

gianfar driver may pass NULL pointer to the of_translate_address(),
which may lead to a kernel oops. Fix this by using of_iomap(), which
is also much simpler and shorter.

Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agofsl_pq_mdio: Fix kernel oops during OF address translation
Anton Vorontsov [Fri, 23 Apr 2010 07:12:35 +0000 (07:12 +0000)]
fsl_pq_mdio: Fix kernel oops during OF address translation

Old P1020RDB device trees were not specifing tbipa address for
MDIO nodes, which is now causing this kernel oops:

 ...
 eth2: TX BD ring size for Q[6]: 256
 eth2: TX BD ring size for Q[7]: 256
 Unable to handle kernel paging request for data at address 0x00000000
 Faulting instruction address: 0xc0015504
 Oops: Kernel access of bad area, sig: 11 [#1]
 ...
 NIP [c0015504] memcpy+0x3c/0x9c
 LR [c000a9f8] __of_translate_address+0xfc/0x21c
 Call Trace:
 [df839e00] [c000a94c] __of_translate_address+0x50/0x21c (unreliable)
 [df839e50] [c01a33e8] get_gfar_tbipa+0xb0/0xe0
 ...

The old device trees are buggy, though having a dead ethernet is
better than a dead kernel, so fix the issue by using of_iomap().

Also, a somewhat similar issue exist in the probe() routine, though
there the oops is only a possibility. Nonetheless, fix it too.

Signed-off-by: Anton Vorontsov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoMerge branch 'master' into for-davem
John W. Linville [Fri, 23 Apr 2010 18:43:45 +0000 (14:43 -0400)]
Merge branch 'master' into for-davem

Conflicts:
drivers/net/wireless/ath/ath9k/phy.c
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-debugfs.c

15 years agobnx2x: add support for receive hashing
Tom Herbert [Fri, 23 Apr 2010 07:10:52 +0000 (00:10 -0700)]
bnx2x: add support for receive hashing

Add support to bnx2x to extract Toeplitz hash out of the receive
descriptor for use in skb->rxhash.

Signed-off-by: Tom Herbert <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agobridge br_multicast: IPv6 MLD support.
YOSHIFUJI Hideaki [Thu, 22 Apr 2010 16:54:22 +0000 (01:54 +0900)]
bridge br_multicast: IPv6 MLD support.

Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
15 years agobridge br_multicast: Make functions less ipv4 dependent.
YOSHIFUJI Hideaki [Sun, 18 Apr 2010 03:42:07 +0000 (12:42 +0900)]
bridge br_multicast: Make functions less ipv4 dependent.

Introduce struct br_ip{} to store ip address and protocol
and make functions more generic so that we can support
both IPv4 and IPv6 with less pain.

Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
15 years agoipv6 mcast: Introduce include/net/mld.h for MLD definitions.
YOSHIFUJI Hideaki [Sun, 18 Apr 2010 03:42:05 +0000 (12:42 +0900)]
ipv6 mcast: Introduce include/net/mld.h for MLD definitions.

Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
15 years agotcp: bind() fix when many ports are bound
Eric Dumazet [Wed, 21 Apr 2010 09:26:15 +0000 (09:26 +0000)]
tcp: bind() fix when many ports are bound

Port autoselection done by kernel only works when number of bound
sockets is under a threshold (typically 30000).

When this threshold is over, we must check if there is a conflict before
exiting first loop in inet_csk_get_port()

Change inet_csk_bind_conflict() to forbid two reuse-enabled sockets to
bind on same (address,port) tuple (with a non ANY address)

Same change for inet6_csk_bind_conflict()

Reported-by: Gaspar Chilingarov <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Acked-by: Evgeniy Polyakov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agosky2: size status ring based on Tx/Rx ring
stephen hemminger [Thu, 22 Apr 2010 13:42:56 +0000 (13:42 +0000)]
sky2: size status ring based on Tx/Rx ring

Sky2 status ring must be big enough to handle worst case number
of status messages. It was being oversized (to handle dual port cards),
and excessive number of tx ring entries were allowed. This patch reduces
the footprint and makes sure the value is enough.

Later patch to add RSS increases the number of possible Rx status elements.

Signed-off-by: Stephen Hemminger <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoremove DCB_PROTO_VERSION as we don't do netlink versioning
Scott Feldman [Thu, 22 Apr 2010 14:38:03 +0000 (14:38 +0000)]
remove DCB_PROTO_VERSION as we don't do netlink versioning

remove DCB_PROTO_VERSION as we don't do netlink versioning

Signed-off-by: Scott Feldman <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoX25: Update X25 interface documentation
andrew hendry [Mon, 19 Apr 2010 13:30:36 +0000 (13:30 +0000)]
X25: Update X25 interface documentation

Signed-off-by: Andrew Hendry <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoX25: Use identifiers for hdlc x25 device to x25 interface
andrew hendry [Mon, 19 Apr 2010 13:30:24 +0000 (13:30 +0000)]
X25: Use identifiers for hdlc x25 device to x25 interface

Change magic numbers to identifiers for X25 interface.

Signed-off-by: Andrew Hendry <[email protected]>
Acked-by: Krzysztof Halasa <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoX25: Use identifiers for cyclades device to x25 interface
andrew hendry [Mon, 19 Apr 2010 13:30:13 +0000 (13:30 +0000)]
X25: Use identifiers for cyclades device to x25 interface

Change magic numbers to identifiers for X25 interface.

Signed-off-by: Andrew Hendry <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoX25: Use identifiers for lapbether device to x25 interface
andrew hendry [Mon, 19 Apr 2010 13:30:02 +0000 (13:30 +0000)]
X25: Use identifiers for lapbether device to x25 interface

Change magic numbers to identifiers for X25 interface.

Signed-off-by: Andrew Hendry <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoX25: Use identifiers for x25 async device to x25 interface
andrew hendry [Mon, 19 Apr 2010 13:29:47 +0000 (13:29 +0000)]
X25: Use identifiers for x25 async device to x25 interface

Change magic numbers to identifiers for X25 interface.

Signed-off-by: Andrew Hendry <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoX25: Use identifiers for isdn device to x25 interface
andrew hendry [Mon, 19 Apr 2010 13:29:06 +0000 (13:29 +0000)]
X25: Use identifiers for isdn device to x25 interface

Change magic numbers to identifiers for X25 interface.
also minor check patch formatting.

Signed-off-by: Andrew Hendry <[email protected]>
Acked-by: Karsten Keil <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoX25: Add if_x25.h and x25 to device identifiers
Andrew Hendry [Thu, 22 Apr 2010 23:12:36 +0000 (16:12 -0700)]
X25: Add if_x25.h and x25 to device identifiers

V2 Feedback from John Hughes.
- Add header for userspace implementations such as xot/xoe to use
- Use explicit values for interface stability
- No changes to driver patches

V1
- Use identifiers instead of magic numbers for X25 layer 3 to device interface.
- Also fixed checkpatch notes on updated code.

[ Add new user header to include/linux/Kbuild  -DaveM ]

Signed-off-by: Andrew Hendry <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agodst: rcu check refinement
Eric Dumazet [Thu, 22 Apr 2010 23:06:59 +0000 (16:06 -0700)]
dst: rcu check refinement

__sk_dst_get() might be called from softirq, with socket lock held.

[  159.026180] include/net/sock.h:1200 invoked rcu_dereference_check()
without protection!
[  159.026261]
[  159.026261] other info that might help us debug this:
[  159.026263]
[  159.026425]
[  159.026426] rcu_scheduler_active = 1, debug_locks = 0
[  159.026552] 2 locks held by swapper/0:
[  159.026609]  #0:  (&icsk->icsk_retransmit_timer){+.-...}, at:
[<ffffffff8104fc15>] run_timer_softirq+0x105/0x350
[  159.026839]  #1:  (slock-AF_INET){+.-...}, at: [<ffffffff81392b8f>]
tcp_write_timer+0x2f/0x1e0
[  159.027063]
[  159.027064] stack backtrace:
[  159.027172] Pid: 0, comm: swapper Not tainted
2.6.34-rc5-03707-gde498c8-dirty #36
[  159.027252] Call Trace:
[  159.027306]  <IRQ>  [<ffffffff810718ef>] lockdep_rcu_dereference
+0xaf/0xc0
[  159.027411]  [<ffffffff8138e4f7>] tcp_current_mss+0xa7/0xb0
[  159.027537]  [<ffffffff8138fa49>] tcp_write_wakeup+0x89/0x190
[  159.027600]  [<ffffffff81391936>] tcp_send_probe0+0x16/0x100
[  159.027726]  [<ffffffff81392cd9>] tcp_write_timer+0x179/0x1e0
[  159.027790]  [<ffffffff8104fca1>] run_timer_softirq+0x191/0x350
[  159.027980]  [<ffffffff810477ed>] __do_softirq+0xcd/0x200

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agonet: Socket filter ancilliary data access for skb->dev->type
Paul LeoNerd Evans [Thu, 22 Apr 2010 03:32:22 +0000 (03:32 +0000)]
net: Socket filter ancilliary data access for skb->dev->type

Add an SKF_AD_HATYPE field to the packet ancilliary data area, giving
access to skb->dev->type, as reported in the sll_hatype field.

When capturing packets on a PF_PACKET/SOCK_RAW socket bound to all
interfaces, there doesn't appear to be a way for the filter program to
actually find out the underlying hardware type the packet was captured
on. This patch adds such ability.

This patch also handles the case where skb->dev can be NULL, such as on
netlink sockets.

Signed-off-by: Paul Evans <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agotcp: fix outsegs stat for TSO segments
Tom Herbert [Thu, 22 Apr 2010 07:00:24 +0000 (07:00 +0000)]
tcp: fix outsegs stat for TSO segments

Account for TSO segments of an skb in TCP_MIB_OUTSEGS counter.  Without
doing this, the counter can be off by orders of magnitude from the
actual number of segments sent.

Signed-off-by: Tom Herbert <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agordma: potential ERR_PTR dereference
Dan Carpenter [Wed, 21 Apr 2010 23:55:27 +0000 (23:55 +0000)]
rdma: potential ERR_PTR dereference

In the original code, the "goto out" calls "rdma_destroy_id(cm_id);"
That isn't needed here and would cause problems because "cm_id" is an
ERR_PTR.  The new code just returns directly.

Signed-off-by: Dan Carpenter <[email protected]>
Acked-by: Andy Grover <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agortnetlink: potential ERR_PTR dereference
Dan Carpenter [Wed, 21 Apr 2010 23:53:27 +0000 (23:53 +0000)]
rtnetlink: potential ERR_PTR dereference

In the original code, if rtnl_create_link() returned an ERR_PTR then that
would get passed to rtnl_configure_link() which dereferences it.

Signed-off-by: Dan Carpenter <[email protected]>
Acked-by: Patrick McHardy <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoniu: Add skb->rxhash support.
David S. Miller [Thu, 22 Apr 2010 22:48:17 +0000 (15:48 -0700)]
niu: Add skb->rxhash support.

Signed-off-by: David S. Miller <[email protected]>
15 years agoqlcnic: update version 5.0.2
Amit Kumar Salecha [Thu, 22 Apr 2010 02:51:42 +0000 (02:51 +0000)]
qlcnic: update version 5.0.2

Update version to indicate IDC(fw recovery) changes.

Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoqlcnic: protect resource access
Amit Kumar Salecha [Thu, 22 Apr 2010 02:51:41 +0000 (02:51 +0000)]
qlcnic: protect resource access

We do netif_device_attach, even if resource allocation fails.
Driver callbacks can be called, if device is attached.
All these callbacks need to be protected by ADAPTER_UP_MAGIC check.

Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoqlcnic: fix rcv buffer leak
Amit Kumar Salecha [Thu, 22 Apr 2010 02:51:40 +0000 (02:51 +0000)]
qlcnic: fix rcv buffer leak

Rcv producer value should be read in spin-lock.

Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoqlcnic: fix pci semaphore checks
Amit Kumar Salecha [Thu, 22 Apr 2010 02:51:39 +0000 (02:51 +0000)]
qlcnic: fix pci semaphore checks

Driver should not go ahead with fw recovery if fails to acquire
semaphore.

Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoqlcnic: define macro for driver state
Amit Kumar Salecha [Thu, 22 Apr 2010 02:51:38 +0000 (02:51 +0000)]
qlcnic: define macro for driver state

Defining macro to set and clear driver state.

Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoqlcnic: fix fw initialization responsibility
Amit Kumar Salecha [Thu, 22 Apr 2010 02:51:37 +0000 (02:51 +0000)]
qlcnic: fix fw initialization responsibility

Now any pci-func can start fw, whoever sees the reset ack first.
Before this, pci-func which sets the RESET state has the responsibility
to start fw.

Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoqlcnic: fix defines as per IDC document
Amit Kumar Salecha [Thu, 22 Apr 2010 02:51:36 +0000 (02:51 +0000)]
qlcnic: fix defines as per IDC document

Different class of drivers co-exist for CNA device,
there is some minimal interaction that will be required amongst
the drivers for performing some device level operations.

All the driver should follow inter driver coexistence document.

Fixing polling interval and spelling mistake.

Signed-off-by: Anirban Chakraborty <[email protected]>
Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoqlcnic: additional driver statistics
Amit Kumar Salecha [Thu, 22 Apr 2010 02:51:35 +0000 (02:51 +0000)]
qlcnic: additional driver statistics

Added additional driver statistics to track errors in rcv/tx path.

Signed-off-by: Amit Kumar Salecha <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoIPv6: Generic TTL Security Mechanism (final version)
Stephen Hemminger [Thu, 22 Apr 2010 22:24:53 +0000 (15:24 -0700)]
IPv6: Generic TTL Security Mechanism (final version)

This patch adds IPv6 support for RFC5082 Generalized TTL Security Mechanism.

Not to users of mapped address; the IPV6 and IPV4 socket options are seperate.
The server does have to deal with both IPv4 and IPv6 socket options
and the client has to handle the different for each family.

On client:
int ttl = 255;
getaddrinfo(argv[1], argv[2], &hint, &result);

for (rp = result; rp != NULL; rp = rp->ai_next) {
s = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (s < 0) continue;

if (rp->ai_family == AF_INET) {
setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));
} else if (rp->ai_family == AF_INET6) {
setsockopt(s, IPPROTO_IPV6,  IPV6_UNICAST_HOPS,
&ttl, sizeof(ttl)))
}

if (connect(s, rp->ai_addr, rp->ai_addrlen) == 0) {
   ...

On server:
int minttl = 255 - maxhops;

getaddrinfo(NULL, port, &hints, &result);
for (rp = result; rp != NULL; rp = rp->ai_next) {
s = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol);
if (s < 0) continue;

if (rp->ai_family == AF_INET6)
setsockopt(s, IPPROTO_IPV6,  IPV6_MINHOPCOUNT,
&minttl, sizeof(minttl));
setsockopt(s, IPPROTO_IP, IP_MINTTL, &minttl, sizeof(minttl));

if (bind(s, rp->ai_addr, rp->ai_addrlen) == 0)
break
...

Signed-off-by: Stephen Hemminger <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agonet: Orphan and de-dst skbs earlier in xmit path.
David S. Miller [Thu, 22 Apr 2010 08:02:07 +0000 (01:02 -0700)]
net: Orphan and de-dst skbs earlier in xmit path.

This way GSO packets don't get handled differently.

With help from Eric Dumazet.

Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
15 years agorps: immediate send IPI in process_backlog()
Eric Dumazet [Thu, 22 Apr 2010 07:22:45 +0000 (00:22 -0700)]
rps: immediate send IPI in process_backlog()

If some skb are queued to our backlog, we are delaying IPI sending at
the end of net_rx_action(), increasing latencies. This defeats the
queueing, since we want to quickly dispatch packets to the pool of
worker cpus, then eventually deeply process our packets.

It's better to send IPI before processing our packets in upper layers,
from process_backlog().

Change the _and_disable_irq suffix to _and_enable_irq(), since we enable
local irq in net_rps_action(), sorry for the confusion.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agocxgb4: Make unnecessarily global functions static
Roland Dreier [Wed, 21 Apr 2010 08:59:17 +0000 (08:59 +0000)]
cxgb4: Make unnecessarily global functions static

Also put t4_write_indirect() inside "#if 0" to avoid a "defined but not
used" compile warning.

Signed-off-by: Roland Dreier <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agocxgb4: Use ntohs() on __be16 value instead of htons()
Roland Dreier [Wed, 21 Apr 2010 08:09:21 +0000 (08:09 +0000)]
cxgb4: Use ntohs() on __be16 value instead of htons()

Use the correct direction of byte-swapping function to fix a mistake
shown by sparse endianness checking -- c.fl0id is __be16.

Signed-off-by: Roland Dreier <[email protected]>
Acked-by: Dimitris Michailidis <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agonet: ipv6 bind to device issue
Jiri Olsa [Tue, 20 Apr 2010 21:21:26 +0000 (21:21 +0000)]
net: ipv6 bind to device issue

The issue raises when having 2 NICs both assigned the same
IPv6 global address.

If a sender binds to a particular NIC (SO_BINDTODEVICE),
the outgoing traffic is being sent via the first found.
The bonded device is thus not taken into an account during the
routing.

From the ip6_route_output function:

If the binding address is multicast, linklocal or loopback,
the RT6_LOOKUP_F_IFACE bit is set, but not for global address.

So binding global address will neglect SO_BINDTODEVICE-binded device,
because the fib6_rule_lookup function path won't check for the
flowi::oif field and take first route that fits.

Signed-off-by: Jiri Olsa <[email protected]>
Signed-off-by: Scott Otto <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoethernet: print protocol in host byte order
Johannes Berg [Tue, 20 Apr 2010 21:06:07 +0000 (21:06 +0000)]
ethernet: print protocol in host byte order

Eric's recent patch added __force, but this
place would seem to require actually doing
a byte order conversion so the printk is
consistent across architectures.

Cc: Eric Dumazet <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agonet: Introduce skb_orphan_try()
Eric Dumazet [Tue, 20 Apr 2010 20:08:36 +0000 (20:08 +0000)]
net: Introduce skb_orphan_try()

At this point, skb->destructor is not the original one (stored in
DEV_GSO_CB(skb)->destructor)

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoipv6: allow to send packet after receiving ICMPv6 Too Big message with MTU field...
Shan Wei [Sun, 18 Apr 2010 16:58:22 +0000 (16:58 +0000)]
ipv6: allow to send packet after receiving ICMPv6 Too Big message with MTU field less than IPV6_MIN_MTU

According to RFC2460, PMTU is set to the IPv6 Minimum Link
MTU (1280) and a fragment header should always be included
after a node receiving Too Big message reporting PMTU is
less than the IPv6 Minimum Link MTU.

After receiving a ICMPv6 Too Big message reporting PMTU is
less than the IPv6 Minimum Link MTU, sctp *can't* send any
data/control chunk that total length including IPv6 head
and IPv6 extend head is less than IPV6_MIN_MTU(1280 bytes).

The failure occured in p6_fragment(), about reason
see following(take SHUTDOWN chunk for example):
sctp_packet_transmit (SHUTDOWN chunk, len=16 byte)
|------sctp_v6_xmit (local_df=0)
   |------ip6_xmit
       |------ip6_output (dst_allfrag is ture)
           |------ip6_fragment

In ip6_fragment(), for local_df=0, drops the the packet
and returns EMSGSIZE.

The patch fixes it with adding check length of skb->len.
In this case, Ipv6 not to fragment upper protocol data,
just only add a fragment header before it.

Signed-off-by: Shan Wei <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agodrivers/net/usb: Add new driver ipheth
Diego Giagio [Sun, 18 Apr 2010 08:35:16 +0000 (08:35 +0000)]
drivers/net/usb: Add new driver ipheth

Add new driver to use tethering with an iPhone device. After initial submission,
apply fixes to fit the new driver into the kernel standards.

There are still a couple of minor (almost cosmetic-level) issues, but the driver
is fully functional right now.

Signed-off-by: L. Alberto Giménez <[email protected]>
Signed-off-by: Diego Giagio <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoehea: fix possible DLPAR/mem deadlock
Thomas Klein [Tue, 20 Apr 2010 23:11:31 +0000 (23:11 +0000)]
ehea: fix possible DLPAR/mem deadlock

Force serialization of userspace-triggered DLPAR/mem operations

Signed-off-by: Thomas Klein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoehea: error handling improvement
Thomas Klein [Tue, 20 Apr 2010 23:10:55 +0000 (23:10 +0000)]
ehea: error handling improvement

Reset a port's resources only if they're actually in an error state

Signed-off-by: Thomas Klein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agocxgb3: fix linkup issue
Hiroshi Shimamoto [Mon, 19 Apr 2010 15:32:20 +0000 (15:32 +0000)]
cxgb3: fix linkup issue

I encountered an issue that not to link up on cxgb3 fabric.
I bisected and found that this regression was introduced by
0f07c4ee8c800923ae7918c231532a9256233eed.

Correct to pass phy_addr to cphy_init() at t3_xaui_direct_phy_prep().

Signed-off-by: Hiroshi Shimamoto <[email protected]>
Acked-by: Divy Le Ray <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoks8842: Add platform data for setting mac address
Richard Röjfors [Wed, 21 Apr 2010 23:33:29 +0000 (16:33 -0700)]
ks8842: Add platform data for setting mac address

This patch adds platform data to the ks8842 driver.

Via the platform data a MAC address, to be used by the controller,
can be passed.

To ensure this MAC address is used, the MAC address is written
after each hardware reset.

Signed-off-by: Richard Röjfors <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoX25 fix dead unaccepted sockets
andrew hendry [Sat, 17 Apr 2010 14:17:32 +0000 (14:17 +0000)]
X25 fix dead unaccepted sockets

1, An X25 program binds and listens
2, calls arrive waiting to be accepted
3, Program exits without accepting
4, Sockets time out but don't get correctly cleaned up
5, cat /proc/net/x25/socket shows the dead sockets with bad inode fields.

This line borrowed from AX25 sets the dying socket so the timers clean up later.

Signed-off-by: Andrew Hendry <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoKS8851: NULL pointer dereference if list is empty
Abraham Arce [Fri, 16 Apr 2010 14:48:43 +0000 (14:48 +0000)]
KS8851: NULL pointer dereference if list is empty

Fix NULL pointer dereference in ks8851_tx_work by checking if dequeued
list is already empty before writing the packet to TX FIFO

 Unable to handle kernel NULL pointer dereference at virtual address 00000050
 PC is at ks8851_tx_work+0xdc/0x1b0
 LR is at wait_for_common+0x148/0x164
 pc : [<c01c0df4>]    lr : [<c025a980>]    psr: 20000013
 Backtrace:
  ks8851_tx_work+0x0/0x1b0
  worker_thread+0x0/0x190
  kthread+0x0/0x90

Signed-off-by: Abraham Arce <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agonet: 3c574_cs fix stats.tx_bytes counter
Alexander Kurz [Fri, 16 Apr 2010 03:01:01 +0000 (03:01 +0000)]
net: 3c574_cs fix stats.tx_bytes counter

Update the stats counter calculation in 3c574_cs, similar
to the method used in 3c589_cs. This corrects the contents
of the counter on tests using a "Megahertz 574B" card.

[[email protected]: clean up commit message]
Signed-off-by: Alexander Kurz <[email protected]>
Signed-off-by: Dominik Brodowski <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoxfrm6: ensure to use the same dev when building a bundle
Nicolas Dichtel [Wed, 21 Apr 2010 23:25:30 +0000 (16:25 -0700)]
xfrm6: ensure to use the same dev when building a bundle

When building a bundle, we set dst.dev and rt6.rt6i_idev.
We must ensure to set the same device for both fields.

Signed-off-by: Nicolas Dichtel <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agonet: small cleanup of lib8390
Nikanth Karthikesan [Thu, 15 Apr 2010 02:21:23 +0000 (02:21 +0000)]
net: small cleanup of lib8390

Remove the always true #if 1. Also the unecessary re-test of ei_local->irqlock
and the unreachable printk format string.

Signed-off-by: Nikanth Karthikesan <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agofasync: RCU and fine grained locking
Eric Dumazet [Wed, 14 Apr 2010 09:55:35 +0000 (09:55 +0000)]
fasync: RCU and fine grained locking

kill_fasync() uses a central rwlock, candidate for RCU conversion, to
avoid cache line ping pongs on SMP.

fasync_remove_entry() and fasync_add_entry() can disable IRQS on a short
section instead during whole list scan.

Use a spinlock per fasync_struct to synchronize kill_fasync_rcu() and
fasync_{remove|add}_entry(). This spinlock is IRQ safe, so sock_fasync()
doesnt need its own implementation and can use fasync_helper(), to
reduce code size and complexity.

We can remove __kill_fasync() direct use in net/socket.c, and rename it
to kill_fasync_rcu().

Signed-off-by: Eric Dumazet <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Lai Jiangshan <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agocan: Fix possible NULL pointer dereference in ems_usb.c
Hans J. Koch [Wed, 21 Apr 2010 00:18:06 +0000 (00:18 +0000)]
can: Fix possible NULL pointer dereference in ems_usb.c

In ems_usb_probe(), a pointer is dereferenced after making sure it is NULL...

This patch replaces netdev->dev.parent with &intf->dev in dev_err() calls to
avoid this.

Signed-off-by: "Hans J. Koch" <[email protected]>
Acked-by: Wolfgang Grandegger <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agotcp: Mark v6 response packets as CHECKSUM_PARTIAL
David S. Miller [Wed, 21 Apr 2010 21:59:20 +0000 (14:59 -0700)]
tcp: Mark v6 response packets as CHECKSUM_PARTIAL

Otherwise we only get the checksum right for data-less TCP responses.

Noticed by Herbert Xu.

Signed-off-by: David S. Miller <[email protected]>
15 years agoradiotap parser: fix endian annotation
Johannes Berg [Wed, 21 Apr 2010 08:25:36 +0000 (10:25 +0200)]
radiotap parser: fix endian annotation

When I updated this from the corresponding
userspace library, an annotation error crept
in -- this variable needs to be annotated as
little endian. No effect on code generation.

Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k_hw: make all AR9002 initvals use u32
Luis R. Rodriguez [Tue, 20 Apr 2010 22:28:36 +0000 (18:28 -0400)]
ath9k_hw: make all AR9002 initvals use u32

Signed-off-by: Luis R. Rodriguez <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k_hw: make two initvals consto for the AR9001 family
Luis R. Rodriguez [Tue, 20 Apr 2010 22:28:35 +0000 (18:28 -0400)]
ath9k_hw: make two initvals consto for the AR9001 family

This makes ar5416Addac_9160 and ar5416Addac_9160 const
I guess we skipped them long ago.

Signed-off-by: Luis R. Rodriguez <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agotcp: Fix ipv6 checksumming on response packets for real.
David S. Miller [Wed, 21 Apr 2010 08:57:01 +0000 (01:57 -0700)]
tcp: Fix ipv6 checksumming on response packets for real.

Commit 6651ffc8e8bdd5fb4b7d1867c6cfebb4f309512c
("ipv6: Fix tcp_v6_send_response transport header setting.")
fixed one half of why ipv6 tcp response checksums were
invalid, but it's not the whole story.

If we're going to use CHECKSUM_PARTIAL for these things (which we are
since commit 2e8e18ef52e7dd1af0a3bd1f7d990a1d0b249586 "tcp: Set
CHECKSUM_UNNECESSARY in tcp_init_nondata_skb"), we can't be setting
buff->csum as we always have been here in tcp_v6_send_response.  We
need to leave it at zero.

Kill that line and checksums are good again.

Signed-off-by: David S. Miller <[email protected]>
15 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Wed, 21 Apr 2010 08:14:25 +0000 (01:14 -0700)]
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

Conflicts:
drivers/net/wireless/iwlwifi/iwl-6000.c
net/core/dev.c

15 years agonet: Fix an RCU warning in dev_pick_tx()
David Howells [Tue, 20 Apr 2010 00:25:58 +0000 (00:25 +0000)]
net: Fix an RCU warning in dev_pick_tx()

Fix the following RCU warning in dev_pick_tx():

===================================================
[ INFO: suspicious rcu_dereference_check() usage. ]
---------------------------------------------------
net/core/dev.c:1993 invoked rcu_dereference_check() without protection!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
2 locks held by swapper/0:
 #0:  (&idev->mc_ifc_timer){+.-...}, at: [<ffffffff81039e65>] run_timer_softirq+0x17b/0x278
 #1:  (rcu_read_lock_bh){.+....}, at: [<ffffffff812ea3eb>] dev_queue_xmit+0x14e/0x4dc

stack backtrace:
Pid: 0, comm: swapper Not tainted 2.6.34-rc5-cachefs #4
Call Trace:
 <IRQ>  [<ffffffff810516c4>] lockdep_rcu_dereference+0xaa/0xb2
 [<ffffffff812ea4f6>] dev_queue_xmit+0x259/0x4dc
 [<ffffffff812ea3eb>] ? dev_queue_xmit+0x14e/0x4dc
 [<ffffffff81052324>] ? trace_hardirqs_on+0xd/0xf
 [<ffffffff81035362>] ? local_bh_enable_ip+0xbc/0xc1
 [<ffffffff812f0954>] neigh_resolve_output+0x24b/0x27c
 [<ffffffff8134f673>] ip6_output_finish+0x7c/0xb4
 [<ffffffff81350c34>] ip6_output2+0x256/0x261
 [<ffffffff81052324>] ? trace_hardirqs_on+0xd/0xf
 [<ffffffff813517fb>] ip6_output+0xbbc/0xbcb
 [<ffffffff8135bc5d>] ? fib6_force_start_gc+0x2b/0x2d
 [<ffffffff81368acb>] mld_sendpack+0x273/0x39d
 [<ffffffff81368858>] ? mld_sendpack+0x0/0x39d
 [<ffffffff81052099>] ? mark_held_locks+0x52/0x70
 [<ffffffff813692fc>] mld_ifc_timer_expire+0x24f/0x288
 [<ffffffff81039ed6>] run_timer_softirq+0x1ec/0x278
 [<ffffffff81039e65>] ? run_timer_softirq+0x17b/0x278
 [<ffffffff813690ad>] ? mld_ifc_timer_expire+0x0/0x288
 [<ffffffff81035531>] ? __do_softirq+0x69/0x140
 [<ffffffff8103556a>] __do_softirq+0xa2/0x140
 [<ffffffff81002e0c>] call_softirq+0x1c/0x28
 [<ffffffff81004b54>] do_softirq+0x38/0x80
 [<ffffffff81034f06>] irq_exit+0x45/0x47
 [<ffffffff810177c3>] smp_apic_timer_interrupt+0x88/0x96
 [<ffffffff810028d3>] apic_timer_interrupt+0x13/0x20
 <EOI>  [<ffffffff810488dd>] ? __atomic_notifier_call_chain+0x0/0x86
 [<ffffffff810096bf>] ? mwait_idle+0x6e/0x78
 [<ffffffff810096b6>] ? mwait_idle+0x65/0x78
 [<ffffffff810011cb>] cpu_idle+0x4d/0x83
 [<ffffffff81380b05>] rest_init+0xb9/0xc0
 [<ffffffff81380a4c>] ? rest_init+0x0/0xc0
 [<ffffffff8168dcf0>] start_kernel+0x392/0x39d
 [<ffffffff8168d2a3>] x86_64_start_reservations+0xb3/0xb7
 [<ffffffff8168d38b>] x86_64_start_kernel+0xe4/0xeb

An rcu_dereference() should be an rcu_dereference_bh().

Signed-off-by: David Howells <[email protected]>
Acked-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoMerge branch 'master' of /home/davem/src/GIT/linux-2.6/
David S. Miller [Wed, 21 Apr 2010 07:50:39 +0000 (00:50 -0700)]
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/

15 years agoipv6: Fix tcp_v6_send_response transport header setting.
Herbert Xu [Wed, 21 Apr 2010 07:47:15 +0000 (00:47 -0700)]
ipv6: Fix tcp_v6_send_response transport header setting.

My recent patch to remove the open-coded checksum sequence in
tcp_v6_send_response broke it as we did not set the transport
header pointer on the new packet.

Actually, there is code there trying to set the transport
header properly, but it sets it for the wrong skb ('skb'
instead of 'buff').

This bug was introduced by commit
a8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb ("ipv6: Fix
tcp_v6_send_response(): it didn't set skb transport header")

Signed-off-by: Herbert Xu <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agonet: Remove two unnecessary exports (skbuff).
Rami Rosen [Wed, 21 Apr 2010 05:39:53 +0000 (22:39 -0700)]
net: Remove two unnecessary exports (skbuff).

There is no need to export skb_under_panic() and skb_over_panic() in
skbuff.c, since these methods are used only in skbuff.c ; this patch
removes these two exports. It also marks these functions as 'static'
and removeS the extern declarations of them from
include/linux/skbuff.h

Signed-off-by: Rami Rosen <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agonet: Fix various endianness glitches
Eric Dumazet [Wed, 21 Apr 2010 02:06:52 +0000 (19:06 -0700)]
net: Fix various endianness glitches

Sparse can help us find endianness bugs, but we need to make some
cleanups to be able to more easily spot real bugs.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agobridge: add a missing ntohs()
Eric Dumazet [Tue, 20 Apr 2010 03:20:05 +0000 (03:20 +0000)]
bridge: add a missing ntohs()

grec_nsrcs is in network order, we should convert to host horder in
br_multicast_igmp3_report()

Signed-off-by: Eric Dumazet <[email protected]>
Acked-by: Herbert Xu <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agotg3: Enable GRO by default.
David S. Miller [Wed, 21 Apr 2010 01:49:45 +0000 (18:49 -0700)]
tg3: Enable GRO by default.

This was merely an oversight when I added the *_gro_receive()
calls.

Signed-off-by: David S. Miller <[email protected]>
15 years agoniu: Enable GRO by default.
David S. Miller [Wed, 21 Apr 2010 01:44:52 +0000 (18:44 -0700)]
niu: Enable GRO by default.

This was merely an oversight when I added the napi_gro_receive()
calls.

Signed-off-by: David S. Miller <[email protected]>
15 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Wed, 21 Apr 2010 00:57:56 +0000 (17:57 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

15 years agonet: sk_sleep() helper
Eric Dumazet [Tue, 20 Apr 2010 13:03:51 +0000 (13:03 +0000)]
net: sk_sleep() helper

Define a new function to return the waitqueue of a "struct sock".

static inline wait_queue_head_t *sk_sleep(struct sock *sk)
{
return sk->sk_sleep;
}

Change all read occurrences of sk_sleep by a call to this function.

Needed for a future RCU conversion. sk_sleep wont be a field directly
available.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux...
Linus Torvalds [Tue, 20 Apr 2010 16:39:40 +0000 (09:39 -0700)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
  quota: Convert __DQUOT_PARANOIA symbol to standard config option

15 years agoquota: Convert __DQUOT_PARANOIA symbol to standard config option
Jan Kara [Mon, 19 Apr 2010 14:47:20 +0000 (16:47 +0200)]
quota: Convert __DQUOT_PARANOIA symbol to standard config option

Make __DQUOT_PARANOIA define from the old days a standard config option
and turn it off by default.

This gets rid of a quota warning about writes before quota is turned on
for systems with ext4 root filesystem. Currently there's no way to legally
solve this because /etc/mtab has to be written before quota is turned on
on most systems.

Signed-off-by: Jan Kara <[email protected]>
15 years agoMerge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6
Linus Torvalds [Tue, 20 Apr 2010 16:21:19 +0000 (09:21 -0700)]
Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6

* 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
  pcmcia: fix error handling in cm4000_cs.c
  drivers/pcmcia: Add missing local_irq_restore
  serial_cs: MD55x support (PCMCIA GPRS/EDGE modem) (kernel 2.6.33)
  pcmcia: avoid late calls to pccard_validate_cis
  pcmcia: fix ioport size calculation in rsrc_nonstatic
  pcmcia: re-start on MFC override
  pcmcia: fix io_probe due to parent (PCI) resources
  pcmcia: use previously assigned IRQ for all card functions

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 20 Apr 2010 16:20:55 +0000 (09:20 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Fix hardirq tracing in trap return path.
  sparc64: Use correct pt_regs in decode_access_size() error paths.
  sparc64: Fix PREEMPT_ACTIVE value.
  sparc64: Run NMIs on the hardirq stack.
  sparc64: Allocate sufficient stack space in ftrace stubs.
  sparc: Fix forgotten kmemleak headers inclusion

15 years agoMerge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Tue, 20 Apr 2010 16:20:23 +0000 (09:20 -0700)]
Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  perf: Fix unsafe frame rewinding with hot regs fetching

15 years agoMerge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Tue, 20 Apr 2010 16:20:11 +0000 (09:20 -0700)]
Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6

* 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: delay vblank cleanup until after driver unload

15 years agox86: correctly wire up the newuname system call
Christoph Hellwig [Tue, 20 Apr 2010 03:31:02 +0000 (05:31 +0200)]
x86: correctly wire up the newuname system call

Before commit e28cbf22933d0c0ccaf3c4c27a1a263b41f73859 ("improve
sys_newuname() for compat architectures") 64-bit x86 had a private
implementation of sys_uname which was just called sys_uname, which other
architectures used for the old uname.

Due to some merge issues with the uname refactoring patches we ended up
calling the old uname version for both the old and new system call
slots, which lead to the domainname filed never be set which caused
failures with libnss_nis.

Reported-and-tested-by: Andy Isaacson <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
15 years agomac80211: Fix ieee80211_sta_conn_mon_timer with hw connection monitoring
Juuso Oikarinen [Tue, 20 Apr 2010 10:15:56 +0000 (13:15 +0300)]
mac80211: Fix ieee80211_sta_conn_mon_timer with hw connection monitoring

When IEEE80211_HW_CONNECTION_MONITOR is configured by the driver, starting
of ieee80211_sta_conn_mon_timer should be prevented, as it is then not needed.

This is currently partially the case. As it seems, when a probe-response is
received from the AP the timer is still restarted, thus restarting the host
based connection keep-alive mechanism. These probe-responses happen at least
when scanning while associated.

Fix this by preventing starting of the ieee80211_sta_conn_mon_timer in the
ieee80211_rx_mgmt_probe_resp function.

Signed-off-by: Juuso Oikarinen <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: set the STBC flag in rate control if the peer supports it
Felix Fietkau [Mon, 19 Apr 2010 17:57:37 +0000 (19:57 +0200)]
ath9k: set the STBC flag in rate control if the peer supports it

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: add support for Tx and Rx STBC
Felix Fietkau [Mon, 19 Apr 2010 17:57:36 +0000 (19:57 +0200)]
ath9k: add support for Tx and Rx STBC

Supported only for single stream rates by the hardware

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agomac80211: add flags for STBC (Space-Time Block Coding)
Felix Fietkau [Mon, 19 Apr 2010 17:57:35 +0000 (19:57 +0200)]
mac80211: add flags for STBC (Space-Time Block Coding)

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: initialize the number of tx/rx streams correctly
Felix Fietkau [Mon, 19 Apr 2010 17:57:34 +0000 (19:57 +0200)]
ath9k: initialize the number of tx/rx streams correctly

AR9300 based hardware can 3x3 MCS rates, this should be set in the
HT capabilities.

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: reduce the bits_per_symbol table size, support more streams
Felix Fietkau [Mon, 19 Apr 2010 17:57:33 +0000 (19:57 +0200)]
ath9k: reduce the bits_per_symbol table size, support more streams

Instead of increasing bits_per_symbol for supporting more streams, keep
it single-stream only and multiply the values by the numer of streams.

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: update the ath_max_4ms_framelen table
Felix Fietkau [Mon, 19 Apr 2010 17:57:32 +0000 (19:57 +0200)]
ath9k: update the ath_max_4ms_framelen table

Include MCS0-31 and also add SGI for HT20. This makes it
possible to support more different rate combinations with
newer hardware.

Based on a patch by Selvam. T.

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: update the MCS mask for MCS16 and above
Felix Fietkau [Mon, 19 Apr 2010 17:57:31 +0000 (19:57 +0200)]
ath9k: update the MCS mask for MCS16 and above

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: clean up tx buffer handling
Felix Fietkau [Mon, 19 Apr 2010 17:57:30 +0000 (19:57 +0200)]
ath9k: clean up tx buffer handling

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: check for specific rx stuck conditions and recover from them
Felix Fietkau [Mon, 19 Apr 2010 17:57:29 +0000 (19:57 +0200)]
ath9k: check for specific rx stuck conditions and recover from them

Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agomac80211: document IEEE80211_CONF_CHANGE_QOS
Stanislaw Gruszka [Tue, 20 Apr 2010 06:16:37 +0000 (08:16 +0200)]
mac80211: document IEEE80211_CONF_CHANGE_QOS

Signed-off-by: Stanislaw Gruszka <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath5k: basic support for survey
Holger Schurig [Mon, 19 Apr 2010 08:24:22 +0000 (10:24 +0200)]
ath5k: basic support for survey

This adds the first element of survey data, the noise floor figure.

Signed-off-by: Holger Schurig <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agomac80211: sample survey implementation for mac80211 & hwsim
Holger Schurig [Mon, 19 Apr 2010 08:23:57 +0000 (10:23 +0200)]
mac80211: sample survey implementation for mac80211 & hwsim

This adds the survey function to both mac80211 itself and to mac80211_hwsim.
For the latter driver, we simply invent some noise level.A real driver which
cannot determine the real channel noise MUST NOT report any noise, especially
not a magically conjured one :-)

Signed-off-by: Holger Schurig <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoath9k: Group Key fix for VAPs
Daniel Yingqiang Ma [Tue, 13 Apr 2010 07:12:07 +0000 (15:12 +0800)]
ath9k: Group Key fix for VAPs

When I set up multiple VAPs with ath9k, I encountered an issue that
the traffic may be lost after a while.

The detailed phenomenon is
1. After a while the clients connected to one of these VAPs will get
into a state that no broadcast/multicast packets can be transfered
successfully while the unicast packets can be transfered normally.
2. Minutes latter the unitcast packets transfer will fail as well,
because the ARP entry is expired and it can't be freshed due to the
broadcast trouble.

It's caused by the group key overwritten and someone discussed this
issue in ath9k-devel maillist before, but haven't work out a fix yet.

I referred the method in madwifi, and made a patch for ath9k.
The method is to set the high bit of the sender(AP)'s address, and
associated that mac and the group key. It requires the hardware
supports multicast frame key search. It seems true for AR9160.

Not sure whether it's the correct way to fix this issue. But it seems
to work in my test. The patch is attached, feel free to revise it.

Signed-off-by: Daniel Yingqiang ma <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agonet: emphasize rtnl lock required in call_netdevice_notifiers
Jiri Pirko [Tue, 20 Apr 2010 08:45:37 +0000 (01:45 -0700)]
net: emphasize rtnl lock required in call_netdevice_notifiers

Since netdev_chain is guarded by rtnl_lock, ASSERT_RTNL should be
present here to make sure that all callers of call_netdevice_notifiers
does the locking properly.

Signed-off-by: Jiri Pirko <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agorps: consistent rxhash
Eric Dumazet [Mon, 19 Apr 2010 21:56:38 +0000 (21:56 +0000)]
rps: consistent rxhash

In case we compute a software skb->rxhash, we can generate a consistent
hash : Its value will be the same in both flow directions.

This helps some workloads, like conntracking, since the same state needs
to be accessed in both directions.

tbench + RFS + this patch gives better results than tbench with default
kernel configuration (no RPS, no RFS)

Also fixed some sparse warnings.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agorps: cleanups
Eric Dumazet [Mon, 19 Apr 2010 21:17:14 +0000 (21:17 +0000)]
rps: cleanups

struct softnet_data holds many queues, so consistent use "sd" name
instead of "queue" is better.

Adds a rps_ipi_queued() helper to cleanup enqueue_to_backlog()

Adds a _and_irq_disable suffix to net_rps_action() name, as David
suggested.

incr_input_queue_head() becomes input_queue_head_incr()

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agosparc64: Fix hardirq tracing in trap return path.
David S. Miller [Tue, 20 Apr 2010 07:48:37 +0000 (00:48 -0700)]
sparc64: Fix hardirq tracing in trap return path.

We can overflow the hardirq stack if we set the %pil here
so early, just let the normal control flow do it.

This is fine as we are allowed to do the actual IRQ enable
at any point after we call trace_hardirqs_on.

Signed-off-by: David S. Miller <[email protected]>
15 years agodrm: delay vblank cleanup until after driver unload
Jesse Barnes [Fri, 26 Mar 2010 18:07:16 +0000 (11:07 -0700)]
drm: delay vblank cleanup until after driver unload

Drivers may use vblank calls now (e.g. drm_vblank_off) in their unload
paths, so don't clean up the vblank related structures until after
driver unload.

Signed-off-by: Jesse Barnes <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
15 years agoLinux 2.6.34-rc5 v2.6.34-rc5
Linus Torvalds [Mon, 19 Apr 2010 23:29:56 +0000 (16:29 -0700)]
Linux 2.6.34-rc5

15 years agormap: add exclusively owned pages to the newest anon_vma
Rik van Riel [Wed, 14 Apr 2010 21:59:28 +0000 (17:59 -0400)]
rmap: add exclusively owned pages to the newest anon_vma

The recent anon_vma fixes cause many anonymous pages to end up
in the parent process anon_vma, even when the page is exclusively
owned by the current process.

Adding exclusively owned anonymous pages to the top anon_vma
reduces rmap scanning overhead, especially in workloads with
forking servers.

This patch adds a parameter to __page_set_anon_rmap that can
be used to indicate whether or not the added page is exclusively
owned by the current process.

Pages added through page_add_new_anon_rmap are exclusively
owned by the current process, and can be added to the top
anon_vma.

Pages added through page_add_anon_rmap can be either shared
or exclusively owned, so we do the conservative thing and
add it to the oldest anon_vma.

A next step would be to add the exclusive parameter to
page_add_anon_rmap, to be used from functions where we do
know for sure whether a page is exclusively owned.

Signed-off-by: Rik van Riel <[email protected]>
Reviewed-by: Johannes Weiner <[email protected]>
Lightly-tested-by: Borislav Petkov <[email protected]>
Reviewed-by: Minchan Kim <[email protected]>
[ Edited to look nicer  - Linus ]
Signed-off-by: Linus Torvalds <[email protected]>
15 years agorps: static functions
Eric Dumazet [Mon, 19 Apr 2010 21:40:57 +0000 (14:40 -0700)]
rps: static functions

store_rps_map() & store_rps_dev_flow_table_cnt() are static.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This page took 0.106983 seconds and 4 git commands to generate.