<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers, branch v2.6.27.29</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>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>Input: wistron_btns - recognize Maxdata Pro 7000 notebooks</title>
<updated>2009-07-30T23:06:11+00:00</updated>
<author>
<name>Giuseppe Mazzotta</name>
<email>g.mazzotta@iragan.com</email>
</author>
<published>2009-07-13T04:02:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3379cb9e7cfcde9dd9e775175383daea231ae423'/>
<id>3379cb9e7cfcde9dd9e775175383daea231ae423</id>
<content type='text'>
commit e705cee427e319665969ef7ac664f3612dec8899 upstream.

This patch adds DMI information to automatically load the correct
layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks
are clones of Fujitsu Amilo V2000, the hook for the v2000 is being
used and I have tested that perfectly works.

The immediate result of integrating this patch is that the five
special buttons will work on these specific notebook models and that
the RF killswitch will not be activated after suspend. This patch
definitively obsoletes the fsam7400 module which I was still needing
to enable wifi and to fix the RF killswitch suspend problem; in the
current 2.6.30 kernel it is necessary to load the wistron_btns module
with options 'force=1 keymap=1557/MS2141', which was not anyway a
complete workaround.

Signed-off-by: Giuseppe Mazzotta &lt;g.mazzotta@iragan.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&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 e705cee427e319665969ef7ac664f3612dec8899 upstream.

This patch adds DMI information to automatically load the correct
layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks
are clones of Fujitsu Amilo V2000, the hook for the v2000 is being
used and I have tested that perfectly works.

The immediate result of integrating this patch is that the five
special buttons will work on these specific notebook models and that
the RF killswitch will not be activated after suspend. This patch
definitively obsoletes the fsam7400 module which I was still needing
to enable wifi and to fix the RF killswitch suspend problem; in the
current 2.6.30 kernel it is necessary to load the wistron_btns module
with options 'force=1 keymap=1557/MS2141', which was not anyway a
complete workaround.

Signed-off-by: Giuseppe Mazzotta &lt;g.mazzotta@iragan.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: suspend: don't let device _PS3 failure prevent suspend</title>
<updated>2009-07-30T23:06:11+00:00</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2009-05-08T04:22:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=760fc210853f9b1893572c41ea42f878ae57b97f'/>
<id>760fc210853f9b1893572c41ea42f878ae57b97f</id>
<content type='text'>
commit 19bde778c1fd2574cc020a618d7d576f260271ca upstream.

6328a57401dc5f5cf9931738eb7268fcd8058c49
"Enable PNPACPI _PSx Support, v3"

added a call to acpi_bus_set_power(handle, ACPI_STATE_D3)
to pnpacpi_disable_resource() before the existing call
to evaluate _DIS on the device.

This caused suspend to fail on the system in
http://bugzilla.kernel.org/show_bug.cgi?id=13243
because the sanity check to verify we entered _PS3
failed on the serial port.

As a work-around, that sanity check can be disabled
system-wide with "acpi.power_nocheck=1"

Or perhaps we should just shrug off the _PS3 failure
and carry on with _DIS like we used to -- which is
what this patch does.

Signed-off-by: Len Brown &lt;len.brown@intel.com&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 19bde778c1fd2574cc020a618d7d576f260271ca upstream.

6328a57401dc5f5cf9931738eb7268fcd8058c49
"Enable PNPACPI _PSx Support, v3"

added a call to acpi_bus_set_power(handle, ACPI_STATE_D3)
to pnpacpi_disable_resource() before the existing call
to evaluate _DIS on the device.

This caused suspend to fail on the system in
http://bugzilla.kernel.org/show_bug.cgi?id=13243
because the sanity check to verify we entered _PS3
failed on the serial port.

As a work-around, that sanity check can be disabled
system-wide with "acpi.power_nocheck=1"

Or perhaps we should just shrug off the _PS3 failure
and carry on with _DIS like we used to -- which is
what this patch does.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Enable PNPACPI _PSx Support, v3</title>
<updated>2009-07-30T23:06:11+00:00</updated>
<author>
<name>Witold Szczeponik</name>
<email>Witold.Szczeponik@gmx.net</email>
</author>
<published>2009-03-30T17:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d2423fbb8d344ece0e3b6116cd30fc6d1d8a4692'/>
<id>d2423fbb8d344ece0e3b6116cd30fc6d1d8a4692</id>
<content type='text'>
commit 6328a57401dc5f5cf9931738eb7268fcd8058c49 upstream.

(This is an update to the patch presented earlier in
http://lkml.org/lkml/2008/12/8/284, with new error handling.)

This patch sets the power of PnP ACPI devices to D0 when they
are activated and to D3 when they are disabled.  The latter is
in correspondence with the ACPI 3.0 specification, whereas the
former is added in order to be able to power up a device after
it has been previously disabled (or when booting up a system).
(As a consequence, the patch makes the PnP ACPI code more ACPI
compliant.)

Section 6.2.2 of the ACPI Specification (at least versions 1.0b
and 3.0a) states: "Prior to running this control method [_DIS],
the OS[PM] will have already put the device in the D3 state."
Unfortunately, there is no clear statement as to when to put
a device in the D0 state. :-( Therefore, the patch executes the
method calls as _PS3/_DIS and _SRS/_PS0. What is clear: "If the
device is disabled, _SRS enables the device at the specified
resources." (From the ACPI 3.0a Specification.)

The patch fixes a problem with some IBM ThinkPads (at least the
600E and the 600X) where the serial ports have a dedicated
power source that needs to be brought up before the serial port
can be used.  Without this patch, the serial port is enabled
but has no power. (In the past, the tpctl utility had to be
utilized to turn on the power, but support for this feature
stopped with version 5.9 as it did not support the more recent
kernel versions.)

The error handlers that handle any errors that can occur during
the power up/power down phases return the error codes to the
caller directly.  Comments welcome! :-)

No regressions were observed on hardware that does not require
this patch.

The patch is applied against 2.6.27.x.

Signed-off-by: Witold Szczeponik &lt;Witold.Szczeponik@gmx.net&gt;
Acked-by: Zhao Yakui &lt;yakui.zhao@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&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 6328a57401dc5f5cf9931738eb7268fcd8058c49 upstream.

(This is an update to the patch presented earlier in
http://lkml.org/lkml/2008/12/8/284, with new error handling.)

This patch sets the power of PnP ACPI devices to D0 when they
are activated and to D3 when they are disabled.  The latter is
in correspondence with the ACPI 3.0 specification, whereas the
former is added in order to be able to power up a device after
it has been previously disabled (or when booting up a system).
(As a consequence, the patch makes the PnP ACPI code more ACPI
compliant.)

Section 6.2.2 of the ACPI Specification (at least versions 1.0b
and 3.0a) states: "Prior to running this control method [_DIS],
the OS[PM] will have already put the device in the D3 state."
Unfortunately, there is no clear statement as to when to put
a device in the D0 state. :-( Therefore, the patch executes the
method calls as _PS3/_DIS and _SRS/_PS0. What is clear: "If the
device is disabled, _SRS enables the device at the specified
resources." (From the ACPI 3.0a Specification.)

The patch fixes a problem with some IBM ThinkPads (at least the
600E and the 600X) where the serial ports have a dedicated
power source that needs to be brought up before the serial port
can be used.  Without this patch, the serial port is enabled
but has no power. (In the past, the tpctl utility had to be
utilized to turn on the power, but support for this feature
stopped with version 5.9 as it did not support the more recent
kernel versions.)

The error handlers that handle any errors that can occur during
the power up/power down phases return the error codes to the
caller directly.  Comments welcome! :-)

No regressions were observed on hardware that does not require
this patch.

The patch is applied against 2.6.27.x.

Signed-off-by: Witold Szczeponik &lt;Witold.Szczeponik@gmx.net&gt;
Acked-by: Zhao Yakui &lt;yakui.zhao@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: EC: Limit workaround for ASUS notebooks even more</title>
<updated>2009-07-30T23:06:10+00:00</updated>
<author>
<name>Alexey Starikovskiy</name>
<email>astarikovskiy@suse.de</email>
</author>
<published>2009-01-13T23:57:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f6388ebe44447698ac59b5c080cdd124ba14e578'/>
<id>f6388ebe44447698ac59b5c080cdd124ba14e578</id>
<content type='text'>
commit 235c4a59278eb07e61d909f1f0c233733034a8b3 upstream.

References: http://bugzilla.kernel.org/show_bug.cgi?id=11884

Signed-off-by: Alexey Starikovskiy &lt;astarikovskiy@suse.de&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Cc: Thomas Renninger &lt;trenn@suse.de&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 235c4a59278eb07e61d909f1f0c233733034a8b3 upstream.

References: http://bugzilla.kernel.org/show_bug.cgi?id=11884

Signed-off-by: Alexey Starikovskiy &lt;astarikovskiy@suse.de&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Cc: Thomas Renninger &lt;trenn@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

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