<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net, branch v3.4-rc6</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>sungem: Fix WakeOnLan</title>
<updated>2012-05-03T05:42:55+00:00</updated>
<author>
<name>Gerard Lledo</name>
<email>gerard.lledo@gmail.com</email>
</author>
<published>2012-04-28T08:52:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5a8887d39e1ba5ee2d4ccb94b14d6f2dce5ddfca'/>
<id>5a8887d39e1ba5ee2d4ccb94b14d6f2dce5ddfca</id>
<content type='text'>
WakeOnLan was broken in this driver because gp-&gt;asleep_wol is a 1-bit
bitfield and it was being assigned WAKE_MAGIC, which is (1 &lt;&lt; 5).
gp-&gt;asleep_wol remains 0 and the machine never wakes up.  Fixed by casting
gp-&gt;wake_on_lan to bool.  Tested on an iBook G4.

Signed-off-by: Gerard Lledo &lt;gerard.lledo@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
WakeOnLan was broken in this driver because gp-&gt;asleep_wol is a 1-bit
bitfield and it was being assigned WAKE_MAGIC, which is (1 &lt;&lt; 5).
gp-&gt;asleep_wol remains 0 and the machine never wakes up.  Fixed by casting
gp-&gt;wake_on_lan to bool.  Tested on an iBook G4.

Signed-off-by: Gerard Lledo &lt;gerard.lledo@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usbnet: fix failure handling in usbnet_probe</title>
<updated>2012-05-03T00:13:04+00:00</updated>
<author>
<name>tom.leiming@gmail.com</name>
<email>tom.leiming@gmail.com</email>
</author>
<published>2012-04-29T22:51:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a4723848d05dd31d298c551fb77ad28481309999'/>
<id>a4723848d05dd31d298c551fb77ad28481309999</id>
<content type='text'>
If register_netdev returns failure, the dev-&gt;interrupt and
its transfer buffer should be released, so just fix it.

Signed-off-by: Ming Lei &lt;tom.leiming@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If register_netdev returns failure, the dev-&gt;interrupt and
its transfer buffer should be released, so just fix it.

Signed-off-by: Ming Lei &lt;tom.leiming@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usbnet: fix leak of transfer buffer of dev-&gt;interrupt</title>
<updated>2012-05-03T00:13:03+00:00</updated>
<author>
<name>tom.leiming@gmail.com</name>
<email>tom.leiming@gmail.com</email>
</author>
<published>2012-04-29T22:51:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=720f3d7cb19eb27f85f72836c8f8004ccb257f39'/>
<id>720f3d7cb19eb27f85f72836c8f8004ccb257f39</id>
<content type='text'>
The transfer buffer of dev-&gt;interrupt is allocated in .probe path,
but not freed in .disconnet path, so mark the interrupt URB as
URB_FREE_BUFFER to free the buffer when the URB is destroyed.

Signed-off-by: Ming Lei &lt;tom.leiming@gmail.com&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The transfer buffer of dev-&gt;interrupt is allocated in .probe path,
but not freed in .disconnet path, so mark the interrupt URB as
URB_FREE_BUFFER to free the buffer when the URB is destroyed.

Signed-off-by: Ming Lei &lt;tom.leiming@gmail.com&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ucc_geth: Add 16 bytes to max TX frame for VLANs</title>
<updated>2012-05-03T00:09:04+00:00</updated>
<author>
<name>Joakim Tjernlund</name>
<email>joakim.tjernlund@transmode.se</email>
</author>
<published>2012-04-29T22:36:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=70f8002d7813ffc5dd9ff3e9d01a17794fb4a4df'/>
<id>70f8002d7813ffc5dd9ff3e9d01a17794fb4a4df</id>
<content type='text'>
Creating a VLAN interface on top of ucc_geth adds 4 bytes
to the frame and the HW controller is not prepared to
TX a frame bigger than 1518 bytes which is 4 bytes too
small for a full VLAN frame. Add 16 bytes which will handle
the a simple VLAN and leaves 12 bytes for future expansion.

Signed-off-by: Joakim Tjernlund &lt;Joakim.Tjernlund@transmode.se&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Creating a VLAN interface on top of ucc_geth adds 4 bytes
to the frame and the HW controller is not prepared to
TX a frame bigger than 1518 bytes which is 4 bytes too
small for a full VLAN frame. Add 16 bytes which will handle
the a simple VLAN and leaves 12 bytes for future expansion.

Signed-off-by: Joakim Tjernlund &lt;Joakim.Tjernlund@transmode.se&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: ucc_geth, increase no. of HW RX descriptors</title>
<updated>2012-05-03T00:09:04+00:00</updated>
<author>
<name>Joakim Tjernlund</name>
<email>joakim.tjernlund@transmode.se</email>
</author>
<published>2012-04-29T22:36:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5bbdc057c270cc0d672ead03320ed8d7a11bac03'/>
<id>5bbdc057c270cc0d672ead03320ed8d7a11bac03</id>
<content type='text'>
In a busy network we see ucc_geth is dropping RX pkgs every now
and then. Increase the RX queues HW descriptors from
16 to 32 to deal with this.

Signed-off-by: Joakim Tjernlund &lt;Joakim.Tjernlund@transmode.se&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In a busy network we see ucc_geth is dropping RX pkgs every now
and then. Increase the RX queues HW descriptors from
16 to 32 to deal with this.

Signed-off-by: Joakim Tjernlund &lt;Joakim.Tjernlund@transmode.se&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem</title>
<updated>2012-05-01T18:14:05+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2012-05-01T18:14:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=076e7779c07c56c7fa593a28c71ea7432d0c7c95'/>
<id>076e7779c07c56c7fa593a28c71ea7432d0c7c95</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>sky2: fix receive length error in mixed non-VLAN/VLAN traffic</title>
<updated>2012-05-01T17:39:13+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2012-04-30T06:47:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e072b3fad5f3915102c94628b4971f52ff99dd05'/>
<id>e072b3fad5f3915102c94628b4971f52ff99dd05</id>
<content type='text'>
Bug: The VLAN bit of the MAC RX Status Word is unreliable in several older
supported chips. Sometimes the VLAN bit is not set for valid VLAN packets
and also sometimes the VLAN bit is set for non-VLAN packets that came after
a VLAN packet. This results in a receive length error when VLAN hardware
tagging is enabled.

Fix: Variation on original fix proposed by Mirko.
The VLAN information is decoded in the status loop, and can be
applied to the received SKB there. This eliminates the need for the
separate tag field in the interface data structure. The tag has to
be copied and cleared if packet is copied. This version checked out
with vlan and normal traffic.

Note: vlan_tx_tag_present should be renamed vlan_tag_present, but that
is outside scope of this.

Reported-by: Mirko Lindner &lt;mlindner@marvell.com&gt;
Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: The VLAN bit of the MAC RX Status Word is unreliable in several older
supported chips. Sometimes the VLAN bit is not set for valid VLAN packets
and also sometimes the VLAN bit is set for non-VLAN packets that came after
a VLAN packet. This results in a receive length error when VLAN hardware
tagging is enabled.

Fix: Variation on original fix proposed by Mirko.
The VLAN information is decoded in the status loop, and can be
applied to the received SKB there. This eliminates the need for the
separate tag field in the interface data structure. The tag has to
be copied and cleared if packet is copied. This version checked out
with vlan and normal traffic.

Note: vlan_tx_tag_present should be renamed vlan_tag_present, but that
is outside scope of this.

Reported-by: Mirko Lindner &lt;mlindner@marvell.com&gt;
Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sky2: propogate rx hash when packet is copied</title>
<updated>2012-05-01T17:39:13+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2012-04-30T05:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3f42941b5d1d13542b1a755a9e4f633aa72e4d3e'/>
<id>3f42941b5d1d13542b1a755a9e4f633aa72e4d3e</id>
<content type='text'>
When a small packet is received, the driver copies it to a new skb to allow
reusing the full size Rx buffer. The copy was propogating the checksum offload
but not the receive hash information. The bug is impact was mostly harmless
and therefore not observed until reviewing this area of code.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a small packet is received, the driver copies it to a new skb to allow
reusing the full size Rx buffer. The copy was propogating the checksum offload
but not the receive hash information. The bug is impact was mostly harmless
and therefore not observed until reviewing this area of code.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cxgb3: Don't call cxgb_vlan_mode until q locks are initialized</title>
<updated>2012-05-01T02:08:44+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2012-04-30T07:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=60158e64641fd8c780a6d14de2bf42aabc419916'/>
<id>60158e64641fd8c780a6d14de2bf42aabc419916</id>
<content type='text'>
The driver calls cxgb_vlan_mode() from init_one().  This calls into
synchronize_rx(), which locks all the q locks, but the q locks are not
initialized until cxgb_up() -&gt; setup_sge_qsets().  So move the call to
cxgb_vlan_mode() into cxgb_up(), after the call to setup_sge_qsets().
We also move the body of these functions up higher to avoid having to
a forward declaration.

This was found because of the lockdep warning:

    INFO: trying to register non-static key.
    the code is fine but needs lockdep annotation.
    turning off the locking correctness validator.
    Pid: 323, comm: work_for_cpu Not tainted 3.4.0-rc5 #28
    Call Trace:
     [&lt;ffffffff8106e767&gt;] register_lock_class+0x108/0x2d0
     [&lt;ffffffff8106ff42&gt;] __lock_acquire+0xd3/0xd06
     [&lt;ffffffff81070fd0&gt;] lock_acquire+0xbf/0xfe
     [&lt;ffffffff813862a6&gt;] _raw_spin_lock_irq+0x36/0x45
     [&lt;ffffffffa01e71aa&gt;] cxgb_vlan_mode+0x96/0xcb [cxgb3]
     [&lt;ffffffffa01f90eb&gt;] init_one+0x8c4/0x980 [cxgb3]
     [&lt;ffffffff811fcbf0&gt;] local_pci_probe+0x3f/0x70
     [&lt;ffffffff81042206&gt;] do_work_for_cpu+0x10/0x22
     [&lt;ffffffff810482de&gt;] kthread+0xa1/0xa9
     [&lt;ffffffff8138e234&gt;] kernel_thread_helper+0x4/0x10

Contrary to what lockdep says, the code is not fine: we are locking an
uninitialized spinlock.

Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver calls cxgb_vlan_mode() from init_one().  This calls into
synchronize_rx(), which locks all the q locks, but the q locks are not
initialized until cxgb_up() -&gt; setup_sge_qsets().  So move the call to
cxgb_vlan_mode() into cxgb_up(), after the call to setup_sge_qsets().
We also move the body of these functions up higher to avoid having to
a forward declaration.

This was found because of the lockdep warning:

    INFO: trying to register non-static key.
    the code is fine but needs lockdep annotation.
    turning off the locking correctness validator.
    Pid: 323, comm: work_for_cpu Not tainted 3.4.0-rc5 #28
    Call Trace:
     [&lt;ffffffff8106e767&gt;] register_lock_class+0x108/0x2d0
     [&lt;ffffffff8106ff42&gt;] __lock_acquire+0xd3/0xd06
     [&lt;ffffffff81070fd0&gt;] lock_acquire+0xbf/0xfe
     [&lt;ffffffff813862a6&gt;] _raw_spin_lock_irq+0x36/0x45
     [&lt;ffffffffa01e71aa&gt;] cxgb_vlan_mode+0x96/0xcb [cxgb3]
     [&lt;ffffffffa01f90eb&gt;] init_one+0x8c4/0x980 [cxgb3]
     [&lt;ffffffff811fcbf0&gt;] local_pci_probe+0x3f/0x70
     [&lt;ffffffff81042206&gt;] do_work_for_cpu+0x10/0x22
     [&lt;ffffffff810482de&gt;] kthread+0xa1/0xa9
     [&lt;ffffffff8138e234&gt;] kernel_thread_helper+0x4/0x10

Contrary to what lockdep says, the code is not fine: we are locking an
uninitialized spinlock.

Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net</title>
<updated>2012-05-01T02:04:20+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-05-01T02:04:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=787cb2a9ebc6148e95b164a2821bb4045de1c7f5'/>
<id>787cb2a9ebc6148e95b164a2821bb4045de1c7f5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
