<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net, branch v2.6.27.31</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>asix: new device ids</title>
<updated>2009-08-16T21:27:08+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2009-02-25T07:52:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=32c987dd4d271c3ec49da10a07ce33aaa76721ca'/>
<id>32c987dd4d271c3ec49da10a07ce33aaa76721ca</id>
<content type='text'>
commit fef7cc0893146550b286b13c0e6e914556142730 upstream.

This patch adds two new device ids to the asix driver.

One comes directly from the asix driver on their web site, the other was
reported by Armani Liao as needed for the MSI X320 to get the driver to
work properly for it.

Reported-by: Armani Liao &lt;aliao@novell.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@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>
commit fef7cc0893146550b286b13c0e6e914556142730 upstream.

This patch adds two new device ids to the asix driver.

One comes directly from the asix driver on their web site, the other was
reported by Armani Liao as needed for the MSI X320 to get the driver to
work properly for it.

Reported-by: Armani Liao &lt;aliao@novell.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines.</title>
<updated>2009-07-30T23:06:15+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2009-07-28T20:59:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7793fe88d9be428873468ccec2f107b1dc1c0bc2'/>
<id>7793fe88d9be428873468ccec2f107b1dc1c0bc2</id>
<content type='text'>
[ Upstream commit adeab1afb7de89555c69aab5ca21300c14af6369 ]

Guido Trentalancia reports:

I am trying to use the kiss driver in the Linux kernel that is being
shipped with Fedora 10 but unfortunately I get the following oops:

mkiss: AX.25 Multikiss, Hans Albas PE1AYX
mkiss: ax0: crc mode is auto.
ADDRCONF(NETDEV_CHANGE): ax0: link becomes ready
------------[ cut here ]------------
WARNING: at kernel/softirq.c:77 __local_bh_disable+0x2f/0x83() (Not
tainted)
[...]
unloaded: microcode]
Pid: 0, comm: swapper Not tainted 2.6.27.25-170.2.72.fc10.i686 #1
 [&lt;c042ddfb&gt;] warn_on_slowpath+0x65/0x8b
 [&lt;c06ab62b&gt;] ? _spin_unlock_irqrestore+0x22/0x38
 [&lt;c04228b4&gt;] ? __enqueue_entity+0xe3/0xeb
 [&lt;c042431e&gt;] ? enqueue_entity+0x203/0x20b
 [&lt;c0424361&gt;] ? enqueue_task_fair+0x3b/0x3f
 [&lt;c041f88c&gt;] ? resched_task+0x3a/0x6e
 [&lt;c06ab62b&gt;] ? _spin_unlock_irqrestore+0x22/0x38
 [&lt;c06ab4e2&gt;] ? _spin_lock_bh+0xb/0x16
 [&lt;c043255b&gt;] __local_bh_disable+0x2f/0x83
 [&lt;c04325ba&gt;] local_bh_disable+0xb/0xd
 [&lt;c06ab4e2&gt;] _spin_lock_bh+0xb/0x16
 [&lt;f8b6f600&gt;] mkiss_receive_buf+0x2fb/0x3a6 [mkiss]
 [&lt;c0572a30&gt;] flush_to_ldisc+0xf7/0x198
 [&lt;c0572b12&gt;] tty_flip_buffer_push+0x41/0x51
 [&lt;f89477f2&gt;] ftdi_process_read+0x375/0x4ad [ftdi_sio]
 [&lt;f8947a5a&gt;] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio]
 [&lt;c05d4bec&gt;] usb_hcd_giveback_urb+0x63/0x93
 [&lt;c05ea290&gt;] uhci_giveback_urb+0xe5/0x15f
 [&lt;c05eaabf&gt;] uhci_scan_schedule+0x52e/0x767
 [&lt;c05f6288&gt;] ? psmouse_handle_byte+0xc/0xe5
 [&lt;c054df78&gt;] ? acpi_ev_gpe_detect+0xd6/0xe1
 [&lt;c05ec5b0&gt;] uhci_irq+0x110/0x125
 [&lt;c05d4834&gt;] usb_hcd_irq+0x40/0xa3
 [&lt;c0465313&gt;] handle_IRQ_event+0x2f/0x64
 [&lt;c046642b&gt;] handle_level_irq+0x74/0xbe
 [&lt;c04663b7&gt;] ? handle_level_irq+0x0/0xbe
 [&lt;c0406e6e&gt;] do_IRQ+0xc7/0xfe
 [&lt;c0405668&gt;] common_interrupt+0x28/0x30
 [&lt;c056821a&gt;] ? acpi_idle_enter_simple+0x162/0x19d
 [&lt;c0617f52&gt;] cpuidle_idle_call+0x60/0x92
 [&lt;c0403c61&gt;] cpu_idle+0x101/0x134
 [&lt;c069b1ba&gt;] rest_init+0x4e/0x50
 =======================
---[ end trace b7cc8076093467ad ]---
------------[ cut here ]------------
WARNING: at kernel/softirq.c:136 _local_bh_enable_ip+0x3d/0xc4()
[...]
Pid: 0, comm: swapper Tainted: G        W 2.6.27.25-170.2.72.fc10.i686
 [&lt;c042ddfb&gt;] warn_on_slowpath+0x65/0x8b
 [&lt;c06ab62b&gt;] ? _spin_unlock_irqrestore+0x22/0x38
 [&lt;c04228b4&gt;] ? __enqueue_entity+0xe3/0xeb
 [&lt;c042431e&gt;] ? enqueue_entity+0x203/0x20b
 [&lt;c0424361&gt;] ? enqueue_task_fair+0x3b/0x3f
 [&lt;c041f88c&gt;] ? resched_task+0x3a/0x6e
 [&lt;c06ab62b&gt;] ? _spin_unlock_irqrestore+0x22/0x38
 [&lt;c06ab4e2&gt;] ? _spin_lock_bh+0xb/0x16
 [&lt;f8b6f642&gt;] ? mkiss_receive_buf+0x33d/0x3a6 [mkiss]
 [&lt;c04325f9&gt;] _local_bh_enable_ip+0x3d/0xc4
 [&lt;c0432688&gt;] local_bh_enable_ip+0x8/0xa
 [&lt;c06ab54d&gt;] _spin_unlock_bh+0x11/0x13
 [&lt;f8b6f642&gt;] mkiss_receive_buf+0x33d/0x3a6 [mkiss]
 [&lt;c0572a30&gt;] flush_to_ldisc+0xf7/0x198
 [&lt;c0572b12&gt;] tty_flip_buffer_push+0x41/0x51
 [&lt;f89477f2&gt;] ftdi_process_read+0x375/0x4ad [ftdi_sio]
 [&lt;f8947a5a&gt;] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio]
 [&lt;c05d4bec&gt;] usb_hcd_giveback_urb+0x63/0x93
 [&lt;c05ea290&gt;] uhci_giveback_urb+0xe5/0x15f
 [&lt;c05eaabf&gt;] uhci_scan_schedule+0x52e/0x767
 [&lt;c05f6288&gt;] ? psmouse_handle_byte+0xc/0xe5
 [&lt;c054df78&gt;] ? acpi_ev_gpe_detect+0xd6/0xe1
 [&lt;c05ec5b0&gt;] uhci_irq+0x110/0x125
 [&lt;c05d4834&gt;] usb_hcd_irq+0x40/0xa3
 [&lt;c0465313&gt;] handle_IRQ_event+0x2f/0x64
 [&lt;c046642b&gt;] handle_level_irq+0x74/0xbe
 [&lt;c04663b7&gt;] ? handle_level_irq+0x0/0xbe
 [&lt;c0406e6e&gt;] do_IRQ+0xc7/0xfe
 [&lt;c0405668&gt;] common_interrupt+0x28/0x30
 [&lt;c056821a&gt;] ? acpi_idle_enter_simple+0x162/0x19d
 [&lt;c0617f52&gt;] cpuidle_idle_call+0x60/0x92
 [&lt;c0403c61&gt;] cpu_idle+0x101/0x134
 [&lt;c069b1ba&gt;] rest_init+0x4e/0x50
 =======================
---[ end trace b7cc8076093467ad ]---
mkiss: ax0: Trying crc-smack
mkiss: ax0: Trying crc-flexnet

The issue was, that the locking code in mkiss was assuming it was only
ever being called in process or bh context.  Fixed by converting the
involved locking code to use irq-safe locks.

Review of other networking line disciplines shows that 6pack, both sync
and async PPP and STRIP have similar issues.  The ppp_async one is the
most interesting one as it sorts out half of the issue as far back as
2004 in commit http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=2996d8deaeddd01820691a872550dc0cfba0c37d

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Reported-by: Guido Trentalancia &lt;guido@trentalancia.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit adeab1afb7de89555c69aab5ca21300c14af6369 ]

Guido Trentalancia reports:

I am trying to use the kiss driver in the Linux kernel that is being
shipped with Fedora 10 but unfortunately I get the following oops:

mkiss: AX.25 Multikiss, Hans Albas PE1AYX
mkiss: ax0: crc mode is auto.
ADDRCONF(NETDEV_CHANGE): ax0: link becomes ready
------------[ cut here ]------------
WARNING: at kernel/softirq.c:77 __local_bh_disable+0x2f/0x83() (Not
tainted)
[...]
unloaded: microcode]
Pid: 0, comm: swapper Not tainted 2.6.27.25-170.2.72.fc10.i686 #1
 [&lt;c042ddfb&gt;] warn_on_slowpath+0x65/0x8b
 [&lt;c06ab62b&gt;] ? _spin_unlock_irqrestore+0x22/0x38
 [&lt;c04228b4&gt;] ? __enqueue_entity+0xe3/0xeb
 [&lt;c042431e&gt;] ? enqueue_entity+0x203/0x20b
 [&lt;c0424361&gt;] ? enqueue_task_fair+0x3b/0x3f
 [&lt;c041f88c&gt;] ? resched_task+0x3a/0x6e
 [&lt;c06ab62b&gt;] ? _spin_unlock_irqrestore+0x22/0x38
 [&lt;c06ab4e2&gt;] ? _spin_lock_bh+0xb/0x16
 [&lt;c043255b&gt;] __local_bh_disable+0x2f/0x83
 [&lt;c04325ba&gt;] local_bh_disable+0xb/0xd
 [&lt;c06ab4e2&gt;] _spin_lock_bh+0xb/0x16
 [&lt;f8b6f600&gt;] mkiss_receive_buf+0x2fb/0x3a6 [mkiss]
 [&lt;c0572a30&gt;] flush_to_ldisc+0xf7/0x198
 [&lt;c0572b12&gt;] tty_flip_buffer_push+0x41/0x51
 [&lt;f89477f2&gt;] ftdi_process_read+0x375/0x4ad [ftdi_sio]
 [&lt;f8947a5a&gt;] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio]
 [&lt;c05d4bec&gt;] usb_hcd_giveback_urb+0x63/0x93
 [&lt;c05ea290&gt;] uhci_giveback_urb+0xe5/0x15f
 [&lt;c05eaabf&gt;] uhci_scan_schedule+0x52e/0x767
 [&lt;c05f6288&gt;] ? psmouse_handle_byte+0xc/0xe5
 [&lt;c054df78&gt;] ? acpi_ev_gpe_detect+0xd6/0xe1
 [&lt;c05ec5b0&gt;] uhci_irq+0x110/0x125
 [&lt;c05d4834&gt;] usb_hcd_irq+0x40/0xa3
 [&lt;c0465313&gt;] handle_IRQ_event+0x2f/0x64
 [&lt;c046642b&gt;] handle_level_irq+0x74/0xbe
 [&lt;c04663b7&gt;] ? handle_level_irq+0x0/0xbe
 [&lt;c0406e6e&gt;] do_IRQ+0xc7/0xfe
 [&lt;c0405668&gt;] common_interrupt+0x28/0x30
 [&lt;c056821a&gt;] ? acpi_idle_enter_simple+0x162/0x19d
 [&lt;c0617f52&gt;] cpuidle_idle_call+0x60/0x92
 [&lt;c0403c61&gt;] cpu_idle+0x101/0x134
 [&lt;c069b1ba&gt;] rest_init+0x4e/0x50
 =======================
---[ end trace b7cc8076093467ad ]---
------------[ cut here ]------------
WARNING: at kernel/softirq.c:136 _local_bh_enable_ip+0x3d/0xc4()
[...]
Pid: 0, comm: swapper Tainted: G        W 2.6.27.25-170.2.72.fc10.i686
 [&lt;c042ddfb&gt;] warn_on_slowpath+0x65/0x8b
 [&lt;c06ab62b&gt;] ? _spin_unlock_irqrestore+0x22/0x38
 [&lt;c04228b4&gt;] ? __enqueue_entity+0xe3/0xeb
 [&lt;c042431e&gt;] ? enqueue_entity+0x203/0x20b
 [&lt;c0424361&gt;] ? enqueue_task_fair+0x3b/0x3f
 [&lt;c041f88c&gt;] ? resched_task+0x3a/0x6e
 [&lt;c06ab62b&gt;] ? _spin_unlock_irqrestore+0x22/0x38
 [&lt;c06ab4e2&gt;] ? _spin_lock_bh+0xb/0x16
 [&lt;f8b6f642&gt;] ? mkiss_receive_buf+0x33d/0x3a6 [mkiss]
 [&lt;c04325f9&gt;] _local_bh_enable_ip+0x3d/0xc4
 [&lt;c0432688&gt;] local_bh_enable_ip+0x8/0xa
 [&lt;c06ab54d&gt;] _spin_unlock_bh+0x11/0x13
 [&lt;f8b6f642&gt;] mkiss_receive_buf+0x33d/0x3a6 [mkiss]
 [&lt;c0572a30&gt;] flush_to_ldisc+0xf7/0x198
 [&lt;c0572b12&gt;] tty_flip_buffer_push+0x41/0x51
 [&lt;f89477f2&gt;] ftdi_process_read+0x375/0x4ad [ftdi_sio]
 [&lt;f8947a5a&gt;] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio]
 [&lt;c05d4bec&gt;] usb_hcd_giveback_urb+0x63/0x93
 [&lt;c05ea290&gt;] uhci_giveback_urb+0xe5/0x15f
 [&lt;c05eaabf&gt;] uhci_scan_schedule+0x52e/0x767
 [&lt;c05f6288&gt;] ? psmouse_handle_byte+0xc/0xe5
 [&lt;c054df78&gt;] ? acpi_ev_gpe_detect+0xd6/0xe1
 [&lt;c05ec5b0&gt;] uhci_irq+0x110/0x125
 [&lt;c05d4834&gt;] usb_hcd_irq+0x40/0xa3
 [&lt;c0465313&gt;] handle_IRQ_event+0x2f/0x64
 [&lt;c046642b&gt;] handle_level_irq+0x74/0xbe
 [&lt;c04663b7&gt;] ? handle_level_irq+0x0/0xbe
 [&lt;c0406e6e&gt;] do_IRQ+0xc7/0xfe
 [&lt;c0405668&gt;] common_interrupt+0x28/0x30
 [&lt;c056821a&gt;] ? acpi_idle_enter_simple+0x162/0x19d
 [&lt;c0617f52&gt;] cpuidle_idle_call+0x60/0x92
 [&lt;c0403c61&gt;] cpu_idle+0x101/0x134
 [&lt;c069b1ba&gt;] rest_init+0x4e/0x50
 =======================
---[ end trace b7cc8076093467ad ]---
mkiss: ax0: Trying crc-smack
mkiss: ax0: Trying crc-flexnet

The issue was, that the locking code in mkiss was assuming it was only
ever being called in process or bh context.  Fixed by converting the
involved locking code to use irq-safe locks.

Review of other networking line disciplines shows that 6pack, both sync
and async PPP and STRIP have similar issues.  The ppp_async one is the
most interesting one as it sorts out half of the issue as far back as
2004 in commit http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=2996d8deaeddd01820691a872550dc0cfba0c37d

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Reported-by: Guido Trentalancia &lt;guido@trentalancia.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>E100: work around the driver using streaming DMA mapping for RX descriptors.</title>
<updated>2009-07-30T23:06:14+00:00</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2009-07-14T11:01:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4662e31e5b9ae9ad4e0422c97ed9c757ac6d678f'/>
<id>4662e31e5b9ae9ad4e0422c97ed9c757ac6d678f</id>
<content type='text'>
[ Upstream commit 303d67c288319768b19ed8dbed429fef7eb7c275 ]

E100 places it's RX packet descriptors inside skb-&gt;data and uses them
with bidirectional streaming DMA mapping. Unfortunately it fails to
transfer skb-&gt;data ownership to the device after it reads the
descriptor's status, breaking on non-coherent (e.g., ARM) platforms.

This have to be converted to use coherent memory for the descriptors.

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Acked-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 303d67c288319768b19ed8dbed429fef7eb7c275 ]

E100 places it's RX packet descriptors inside skb-&gt;data and uses them
with bidirectional streaming DMA mapping. Unfortunately it fails to
transfer skb-&gt;data ownership to the device after it reads the
descriptor's status, breaking on non-coherent (e.g., ARM) platforms.

This have to be converted to use coherent memory for the descriptors.

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Acked-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>r8169: avoid losing MSI interrupts</title>
<updated>2009-07-30T23:06:14+00:00</updated>
<author>
<name>David Dillow</name>
<email>dave@thedillows.org</email>
</author>
<published>2009-07-22T16:17:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2fe2c6bb0303064bde3b8ca0fd90c4367868486e'/>
<id>2fe2c6bb0303064bde3b8ca0fd90c4367868486e</id>
<content type='text'>
[ Upstream commit f11a377b3f4e897d11f0e8d1fc688667e2f19708 ]

The 8169 chip only generates MSI interrupts when all enabled event
sources are quiescent and one or more sources transition to active. If
not all of the active events are acknowledged, or a new event becomes
active while the existing ones are cleared in the handler, we will not
see a new interrupt.

The current interrupt handler masks off the Rx and Tx events once the
NAPI handler has been scheduled, which opens a race window in which we
can get another Rx or Tx event and never ACK'ing it, stopping all
activity until the link is reset (ifconfig down/up). Fix this by always
ACK'ing all event sources, and loop in the handler until we have all
sources quiescent.

Signed-off-by: David Dillow &lt;dave@thedillows.org&gt;
Tested-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit f11a377b3f4e897d11f0e8d1fc688667e2f19708 ]

The 8169 chip only generates MSI interrupts when all enabled event
sources are quiescent and one or more sources transition to active. If
not all of the active events are acknowledged, or a new event becomes
active while the existing ones are cleared in the handler, we will not
see a new interrupt.

The current interrupt handler masks off the Rx and Tx events once the
NAPI handler has been scheduled, which opens a race window in which we
can get another Rx or Tx event and never ACK'ing it, stopping all
activity until the link is reset (ifconfig down/up). Fix this by always
ACK'ing all event sources, and loop in the handler until we have all
sources quiescent.

Signed-off-by: David Dillow &lt;dave@thedillows.org&gt;
Tested-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usbnet cdc_subset: fix issues talking to PXA gadgets</title>
<updated>2009-07-30T23:06:14+00:00</updated>
<author>
<name>David Brownell</name>
<email>dbrownell@users.sourceforge.net</email>
</author>
<published>2009-06-20T08:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4afc4dd4a332ebb48fde7cd30822ab5c5cd80d2d'/>
<id>4afc4dd4a332ebb48fde7cd30822ab5c5cd80d2d</id>
<content type='text'>
[ Upstream commit 6be832529a8129c9d90a1d3a78c5d503a710b6fc ]

The host-side CDC subset driver is binding more specifically
than it should ... only to PXA 210/25x/26x Linux-USB gadgets.

Loosen that restriction to match the gadget driver driver.
This will various PXA 27x and PXA 3xx devices happier when
talking to Linux hosts, potentially others.

Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Tested-by: Aric D. Blumer &lt;aric@sdgsystems.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 6be832529a8129c9d90a1d3a78c5d503a710b6fc ]

The host-side CDC subset driver is binding more specifically
than it should ... only to PXA 210/25x/26x Linux-USB gadgets.

Loosen that restriction to match the gadget driver driver.
This will various PXA 27x and PXA 3xx devices happier when
talking to Linux hosts, potentially others.

Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Tested-by: Aric D. Blumer &lt;aric@sdgsystems.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sky2: Fix checksum endianness</title>
<updated>2009-07-30T23:06:13+00:00</updated>
<author>
<name>Anton Vorontsov</name>
<email>avorontsov@ru.mvista.com</email>
</author>
<published>2009-06-26T16:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b0267e68735995b9b6d8e5d237b58fb25238bbaa'/>
<id>b0267e68735995b9b6d8e5d237b58fb25238bbaa</id>
<content type='text'>
[ Upstream commit b9389796fa4c87fbdff33816e317cdae5f36dd0b ]

sky2 driver on PowerPC targets floods kernel log with following errors:

  eth1: hw csum failure.
  Call Trace:
  [ef84b8a0] [c00075e4] show_stack+0x50/0x160 (unreliable)
  [ef84b8d0] [c02fa178] netdev_rx_csum_fault+0x3c/0x5c
  [ef84b8f0] [c02f6920] __skb_checksum_complete_head+0x7c/0x84
  [ef84b900] [c02f693c] __skb_checksum_complete+0x14/0x24
  [ef84b910] [c0337e08] tcp_v4_rcv+0x4c8/0x6f8
  [ef84b940] [c031a9c8] ip_local_deliver+0x98/0x210
  [ef84b960] [c031a788] ip_rcv+0x38c/0x534
  [ef84b990] [c0300338] netif_receive_skb+0x260/0x36c
  [ef84b9c0] [c025de00] sky2_poll+0x5dc/0xcf8
  [ef84ba20] [c02fb7fc] net_rx_action+0xc0/0x144

The NIC is Yukon-2 EC chip revision 1.

Converting checksum field from le16 to CPU byte order fixes the issue.

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit b9389796fa4c87fbdff33816e317cdae5f36dd0b ]

sky2 driver on PowerPC targets floods kernel log with following errors:

  eth1: hw csum failure.
  Call Trace:
  [ef84b8a0] [c00075e4] show_stack+0x50/0x160 (unreliable)
  [ef84b8d0] [c02fa178] netdev_rx_csum_fault+0x3c/0x5c
  [ef84b8f0] [c02f6920] __skb_checksum_complete_head+0x7c/0x84
  [ef84b900] [c02f693c] __skb_checksum_complete+0x14/0x24
  [ef84b910] [c0337e08] tcp_v4_rcv+0x4c8/0x6f8
  [ef84b940] [c031a9c8] ip_local_deliver+0x98/0x210
  [ef84b960] [c031a788] ip_rcv+0x38c/0x534
  [ef84b990] [c0300338] netif_receive_skb+0x260/0x36c
  [ef84b9c0] [c025de00] sky2_poll+0x5dc/0xcf8
  [ef84ba20] [c02fb7fc] net_rx_action+0xc0/0x144

The NIC is Yukon-2 EC chip revision 1.

Converting checksum field from le16 to CPU byte order fixes the issue.

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pegasus usb-net: Fix endianness bugs</title>
<updated>2009-07-30T23:06:13+00:00</updated>
<author>
<name>Michael Buesch</name>
<email>mb@bu3sch.de</email>
</author>
<published>2009-06-18T07:03:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e9f839f938d9e7843ac1c55246f6518745004713'/>
<id>e9f839f938d9e7843ac1c55246f6518745004713</id>
<content type='text'>
[ Upstream commit e3453f6342110d60edb37be92c4a4f668ca8b0c4 ]

This fixes various endianness bugs. Some harmless and some real ones.
This is tested on a PowerPC-64 machine.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit e3453f6342110d60edb37be92c4a4f668ca8b0c4 ]

This fixes various endianness bugs. Some harmless and some real ones.
This is tested on a PowerPC-64 machine.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tulip: Fix for MTU problems with 802.1q tagged frames</title>
<updated>2009-07-20T03:45:00+00:00</updated>
<author>
<name>Tomasz Lemiech</name>
<email>szpajder@staszic.waw.pl</email>
</author>
<published>2009-03-13T22:43:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0d3d2711b2dd74f39a21ed20b88d733e9509100a'/>
<id>0d3d2711b2dd74f39a21ed20b88d733e9509100a</id>
<content type='text'>
commit 1f8ae0a21d83f43006d7f6d2862e921dbf2eeddd upstream.

The original patch was submitted last year but wasn't discussed or applied
because of missing maintainer's CCs. I only fixed some formatting errors,
but as I saw tulip is very badly formatted and needs further work.

Original description:
This patch fixes MTU problem, which occurs when using 802.1q VLANs. We
should allow receiving frames of up to 1518 bytes in length, instead of
1514.

Based on patch written by Ben McKeegan for 2.4.x kernels. It is archived
at http://www.candelatech.com/~greear/vlan/howto.html#tulip
I've adjusted a few things to make it apply on 2.6.x kernels.

Tested on D-Link DFE-570TX quad-fastethernet card.

Signed-off-by: Tomasz Lemiech &lt;szpajder@staszic.waw.pl&gt;
Signed-off-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: Ben McKeegan &lt;ben@netservers.co.uk&gt;
Acked-by: Grant Grundler &lt;grundler@parisc-linux.org&gt;
Cc: Christoph Biedl &lt;linux-kernel.bfrz@manchmal.in-ulm.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>
commit 1f8ae0a21d83f43006d7f6d2862e921dbf2eeddd upstream.

The original patch was submitted last year but wasn't discussed or applied
because of missing maintainer's CCs. I only fixed some formatting errors,
but as I saw tulip is very badly formatted and needs further work.

Original description:
This patch fixes MTU problem, which occurs when using 802.1q VLANs. We
should allow receiving frames of up to 1518 bytes in length, instead of
1514.

Based on patch written by Ben McKeegan for 2.4.x kernels. It is archived
at http://www.candelatech.com/~greear/vlan/howto.html#tulip
I've adjusted a few things to make it apply on 2.6.x kernels.

Tested on D-Link DFE-570TX quad-fastethernet card.

Signed-off-by: Tomasz Lemiech &lt;szpajder@staszic.waw.pl&gt;
Signed-off-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: Ben McKeegan &lt;ben@netservers.co.uk&gt;
Acked-by: Grant Grundler &lt;grundler@parisc-linux.org&gt;
Cc: Christoph Biedl &lt;linux-kernel.bfrz@manchmal.in-ulm.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>r8169: fix crash when large packets are received</title>
<updated>2009-07-02T23:31:36+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2009-06-09T11:01:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d6e4c46321f5e4a5060e873b1ed5e4d0c25b774e'/>
<id>d6e4c46321f5e4a5060e873b1ed5e4d0c25b774e</id>
<content type='text'>
commit fdd7b4c3302c93f6833e338903ea77245eb510b4 upstream.

Michael Tokarev reported receiving a large packet could crash
a machine with RTL8169 NIC.
( original thread at http://lkml.org/lkml/2009/6/8/192 )

Problem is this driver tells that NIC frames up to 16383 bytes
can be received but provides skb to rx ring allocated with
smaller sizes (1536 bytes in case standard 1500 bytes MTU is used)

When a frame larger than what was allocated by driver is received,
dma transfert can occurs past the end of buffer and corrupt
kernel memory.

Fix is to tell to NIC what is the maximum size a frame can be.

This bug is very old, (before git introduction, linux-2.6.10), and
should be backported to stable versions.

Reported-by: Michael Tokarev &lt;mjt@tls.msk.ru&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Tested-by: Michael Tokarev &lt;mjt@tls.msk.ru&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit fdd7b4c3302c93f6833e338903ea77245eb510b4 upstream.

Michael Tokarev reported receiving a large packet could crash
a machine with RTL8169 NIC.
( original thread at http://lkml.org/lkml/2009/6/8/192 )

Problem is this driver tells that NIC frames up to 16383 bytes
can be received but provides skb to rx ring allocated with
smaller sizes (1536 bytes in case standard 1500 bytes MTU is used)

When a frame larger than what was allocated by driver is received,
dma transfert can occurs past the end of buffer and corrupt
kernel memory.

Fix is to tell to NIC what is the maximum size a frame can be.

This bug is very old, (before git introduction, linux-2.6.10), and
should be backported to stable versions.

Reported-by: Michael Tokarev &lt;mjt@tls.msk.ru&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Tested-by: Michael Tokarev &lt;mjt@tls.msk.ru&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>bonding: fix multiple module load problem</title>
<updated>2009-07-02T23:31:27+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2009-06-11T12:46:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=442427fba55fa4d8c6a53913feb752ecf137984c'/>
<id>442427fba55fa4d8c6a53913feb752ecf137984c</id>
<content type='text'>
[ Upstream commit 130aa61a77b8518f1ea618e1b7d214d60b405f10 ]

Some users still load bond module multiple times to create bonding
devices.  This accidentally was broken by a later patch about
the time sysfs was fixed.  According to Jay, it was broken
by:
   commit b8a9787eddb0e4665f31dd1d64584732b2b5d051
   Author: Jay Vosburgh &lt;fubar@us.ibm.com&gt;
   Date:   Fri Jun 13 18:12:04 2008 -0700

     bonding: Allow setting max_bonds to zero

Note: sysfs and procfs still produce WARN() messages when this is done
so the sysfs method is the recommended API.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: Jay Vosburgh &lt;fubar@us.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 130aa61a77b8518f1ea618e1b7d214d60b405f10 ]

Some users still load bond module multiple times to create bonding
devices.  This accidentally was broken by a later patch about
the time sysfs was fixed.  According to Jay, it was broken
by:
   commit b8a9787eddb0e4665f31dd1d64584732b2b5d051
   Author: Jay Vosburgh &lt;fubar@us.ibm.com&gt;
   Date:   Fri Jun 13 18:12:04 2008 -0700

     bonding: Allow setting max_bonds to zero

Note: sysfs and procfs still produce WARN() messages when this is done
so the sysfs method is the recommended API.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: Jay Vosburgh &lt;fubar@us.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
</feed>
