<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/marvell, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-11-03T19:10:15Z</updated>
<entry>
<title>drivers/net: use tasklet_kill in device remove/close process</title>
<updated>2012-11-03T19:10:15Z</updated>
<author>
<name>Xiaotian Feng</name>
</author>
<published>2012-10-31T00:29:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=175c0dffef310fc7d7f026ca4a7682beb2fbd8ec'/>
<id>urn:sha1:175c0dffef310fc7d7f026ca4a7682beb2fbd8ec</id>
<content type='text'>
Some driver uses tasklet_disable in device remove/close process,
tasklet_disable will inc tasklet-&gt;count and return. If the tasklet
is not handled yet because some softirq pressure, the tasklet will
placed on the tasklet_vec, never have a chance to excute. This might
lead to ksoftirqd heavy loaded, wakeup with pending_softirq, but
tasklet is disabled. tasklet_kill should be used in this case.

Signed-off-by: Xiaotian Feng &lt;dannyfeng@tencent.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: gro: selective flush of packets</title>
<updated>2012-10-08T18:51:51Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2012-10-06T08:08:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e71a6f8084e7ac87166dd77d99c44190fb844fc'/>
<id>urn:sha1:2e71a6f8084e7ac87166dd77d99c44190fb844fc</id>
<content type='text'>
Current GRO can hold packets in gro_list for almost unlimited
time, in case napi-&gt;poll() handler consumes its budget over and over.

In this case, napi_complete()/napi_gro_flush() are not called.

Another problem is that gro_list is flushed in non friendly way :
We scan the list and complete packets in the reverse order.
(youngest packets first, oldest packets last)
This defeats priorities that sender could have cooked.

Since GRO currently only store TCP packets, we dont really notice the
bug because of retransmits, but this behavior can add unexpected
latencies, particularly on mice flows clamped by elephant flows.

This patch makes sure no packet can stay more than 1 ms in queue, and
only in stress situations.

It also complete packets in the right order to minimize latencies.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Cc: Jesse Gross &lt;jesse@nicira.com&gt;
Cc: Tom Herbert &lt;therbert@google.com&gt;
Cc: Yuchung Cheng &lt;ycheng@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>skge: Add DMA mask quirk for Marvell 88E8001 on ASUS P5NSLI motherboard</title>
<updated>2012-10-08T18:46:35Z</updated>
<author>
<name>Graham Gower</name>
</author>
<published>2012-10-08T08:34:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2af139ff1cd85df586690ff626619ab1ee88b0a'/>
<id>urn:sha1:a2af139ff1cd85df586690ff626619ab1ee88b0a</id>
<content type='text'>
Marvell 88E8001 on an ASUS P5NSLI motherboard is unable to send/receive
packets on a system with &gt;4gb ram unless a 32bit DMA mask is used.

This issue has been around for years and a fix was sent 3.5 years ago, but
there was some debate as to whether it should instead be fixed as a PCI quirk.
http://www.spinics.net/lists/netdev/msg88670.html

However, 18 months later a similar workaround was introduced for another
chipset exhibiting the same problem.
http://www.spinics.net/lists/netdev/msg142287.html

Signed-off-by: Graham Gower &lt;graham.gower@gmail.com&gt;
Signed-off-by: Jan Ceuleers &lt;jan.ceuleers@computer.org&gt;
Acked-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>drivers/net/ethernet/marvell/sky2.c: fix error return code</title>
<updated>2012-10-07T18:37:12Z</updated>
<author>
<name>Peter Senna Tschudin</name>
</author>
<published>2012-10-05T12:40:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0bd8ba18b9384e1c9104eee1d912fd5c8b4234c0'/>
<id>urn:sha1:0bd8ba18b9384e1c9104eee1d912fd5c8b4234c0</id>
<content type='text'>
The function sky2_probe() return 0 for success and negative value
for most of its internal tests failures. There are two exceptions
that are error cases going to err_out*:. For this two cases, the
function abort its success execution path, but returns non negative
value, making it dificult for a caller function to notice the error.

This patch fixes the error cases that do not return negative values.

This was found by Coccinelle, but the code change was made by hand.
This patch is not robot generated.

A simplified version of the semantic match that finds this problem is
as follows: (http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
(
if@p1 (\(ret &lt; 0\|ret != 0\))
 { ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
    when != &amp;ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}
// &lt;/smpl&gt;

Signed-off-by: Peter Senna Tschudin &lt;peter.senna@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>drivers/net/ethernet/marvell/skge.c: fix error return code</title>
<updated>2012-10-07T18:37:12Z</updated>
<author>
<name>Peter Senna Tschudin</name>
</author>
<published>2012-10-05T12:40:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bbcf61fb30279c99e51b9d20b231e8513c5e6b1d'/>
<id>urn:sha1:bbcf61fb30279c99e51b9d20b231e8513c5e6b1d</id>
<content type='text'>
The function skge_probe() return 0 for success and negative value
for most of its internal tests failures. There is one exception
that is error case going to err_out_led_off:. For this error case, the
function abort its success execution path, but returns non negative
value, making it difficult for a caller function to notice the error.

This patch fixes the error case that do not return negative value.

This was found by Coccinelle, but the code change was made by hand.
This patch is not robot generated.

A simplified version of the semantic match that finds this problem is
as follows: (http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
(
if@p1 (\(ret &lt; 0\|ret != 0\))
 { ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
    when != &amp;ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}
// &lt;/smpl&gt;

Signed-off-by: Peter Senna Tschudin &lt;peter.senna@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: remove skb recycling</title>
<updated>2012-10-07T04:40:54Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2012-10-05T06:23:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=acb600def2110b1310466c0e485c0d26299898ae'/>
<id>urn:sha1:acb600def2110b1310466c0e485c0d26299898ae</id>
<content type='text'>
Over time, skb recycling infrastructure got litle interest and
many bugs. Generic rx path skb allocation is now using page
fragments for efficient GRO / TCP coalescing, and recyling
a tx skb for rx path is not worth the pain.

Last identified bug is that fat skbs can be recycled
and it can endup using high order pages after few iterations.

With help from Maxime Bizon, who pointed out that commit
87151b8689d (net: allow pskb_expand_head() to get maximum tailroom)
introduced this regression for recycled skbs.

Instead of fixing this bug, lets remove skb recycling.

Drivers wanting really hot skbs should use build_skb() anyway,
to allocate/populate sk_buff right before netif_receive_skb()

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Maxime Bizon &lt;mbizon@freebox.fr&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'v3.5-rc7-fixes' of git://github.com/lunn/linux into fixes</title>
<updated>2012-07-25T19:37:09Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2012-07-25T19:37:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1f9c4227ca2c5bc64abbde3d9d63fd8c06571d7'/>
<id>urn:sha1:c1f9c4227ca2c5bc64abbde3d9d63fd8c06571d7</id>
<content type='text'>
From Andrew Lunn &lt;andrew@lunn.ch&gt;:

* 'v3.5-rc7-fixes' of git://github.com/lunn/linux:
  ARM: Kirkwood: Replace mrvl with marvell
  ARM: Orion: fix driver probe error handling with respect to clk
  ARM: Dove: Fixup ge00 initialisation
  ARM: Kirkwood: Fix PHY disable clk problems
  ARM: Kirkwood: Ensure runit clock always ticks.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>ARM: Orion: fix driver probe error handling with respect to clk</title>
<updated>2012-07-25T15:06:21Z</updated>
<author>
<name>Simon Baatz</name>
</author>
<published>2012-07-18T22:04:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=baffab28b13120694fa3ebab08d3e99667a851d2'/>
<id>urn:sha1:baffab28b13120694fa3ebab08d3e99667a851d2</id>
<content type='text'>
The clk patches added code to get and enable clocks in the
respective driver probe functions.  If the probe function failed
for some reason after enabling the clock, the clock was not
disabled again in many cases.

Signed-off-by: Simon Baatz &lt;gmbnomis@gmail.com&gt;
Signed-off-by: Andrew Lumm &lt;andrew@lunn.ch&gt;
</content>
</entry>
<entry>
<title>sky2: Fix for interrupt handler</title>
<updated>2012-07-09T07:05:40Z</updated>
<author>
<name>Mirko Lindner</name>
</author>
<published>2012-07-03T23:38:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d663d181b9e92d80c2455e460e932d34e7a2a7ae'/>
<id>urn:sha1:d663d181b9e92d80c2455e460e932d34e7a2a7ae</id>
<content type='text'>
Re-enable interrupts if it is not our interrupt

Signed-off-by: Mirko Lindner &lt;mlindner@marvell.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sky2: Added support for Optima EEE</title>
<updated>2012-07-09T07:05:40Z</updated>
<author>
<name>Mirko Lindner</name>
</author>
<published>2012-07-03T23:38:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0e767324f26fd5e103381d05a65a76ecf50a699a'/>
<id>urn:sha1:0e767324f26fd5e103381d05a65a76ecf50a699a</id>
<content type='text'>
This patch adds support for the Optima EEE chipset.

Signed-off-by: Mirko Lindner &lt;mlindner@marvell.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
