<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers, branch v2.6.33.5</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>Revert "ath9k: fix lockdep warning when unloading module" on stable kernels</title>
<updated>2010-05-26T21:32:12+00:00</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>lrodriguez@atheros.com</email>
</author>
<published>2010-05-19T21:33:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0afe7e4c1136dda6486587be78c5d277f7aac999'/>
<id>0afe7e4c1136dda6486587be78c5d277f7aac999</id>
<content type='text'>
Johannes' patch 34e8950 titled:

	mac80211: allow station add/remove to sleep

changed the way mac80211 adds and removes peers. The new
sta_add() / sta_remove() callbacks allowed the driver callbacks
to sleep. Johannes also ported ath9k to use sta_add() / sta_remove()
via the patch 4ca7786 titled:

	ath9k: convert to new station add/remove callbacks

but this patch forgot to address a change in locking issue which
Ming Lei eventually found on his 2.6.33-wl #12 build. The 2.6.33-wl
build includes code for the 802.11 subsystem for 2.6.34 though so did
already have the above two patches (ath9k_sta_remove() on his trace),
the 2.6.33 kernel did not however have these two patches. Ming eventually
cured his lockdep warnign via the patch a9f042c titled:

	ath9k: fix lockdep warning when unloading module

This went in to 2.6.34 and although it was not marked as a stable
fix it did get trickled down and applied on both 2.6.33 and 2.6.32.

In review, the culprits:

	mac80211: allow station add/remove to sleep
git describe --contains 34e895075e21be3e21e71d6317440d1ee7969ad0
v2.6.34-rc1~233^2~49^2~107

	ath9k: convert to new station add/remove callbacks
git describe --contains 4ca778605cfec53d8a689f0b57babb93b030c784
v2.6.34-rc1~233^2~49^2~10

	ath9k: fix lockdep warning when unloading module

This last one trickled down to 2.6.33 (OK), 2.6.33 (invalid) and 2.6.32 (invalid).

git describe --contains a9f042cbe5284f34ccff15f3084477e11b39b17b
v2.6.34-rc2~48^2~77^2~7
git describe --contains 0524bcfa80f1fffb4e1fe18a0a28900869a58a7c
v2.6.33.2~125
git describe --contains 0dcc9985f34aef3c60bffab3dfc7f7ba3748f35a
v2.6.32.11~79

The patch titled "ath9k: fix lockdep warning when unloading module"
should be reverted on both 2.6.33 and 2.6.32 as it is invalid and
actually ended up causing the following warning:

ADDRCONF(NETDEV_CHANGE): wlan31: link becomes ready
phy0: WMM queue=2 aci=0 acm=0 aifs=3 cWmin=15 cWmax=1023 txop=0
phy0: WMM queue=3 aci=1 acm=0 aifs=7 cWmin=15 cWmax=1023 txop=0
phy0: WMM queue=1 aci=2 acm=0 aifs=2 cWmin=7 cWmax=15 txop=94
phy0: WMM queue=0 aci=3 acm=0 aifs=2 cWmin=3 cWmax=7 txop=47
phy0: device now idle
------------[ cut here ]------------
WARNING: at kernel/softirq.c:143 local_bh_enable_ip+0x7b/0xa0()
Hardware name: 7660A14
Modules linked in: ath9k(-) mac80211 ath cfg80211 &lt;whatever-bleh-etc&gt;
Pid: 2003, comm: rmmod Not tainted 2.6.32.11 #6
Call Trace:
 [&lt;ffffffff8105d178&gt;] warn_slowpath_common+0x78/0xb0
 [&lt;ffffffff8105d1bf&gt;] warn_slowpath_null+0xf/0x20
 [&lt;ffffffff81063f8b&gt;] local_bh_enable_ip+0x7b/0xa0
 [&lt;ffffffff815121e4&gt;] _spin_unlock_bh+0x14/0x20
 [&lt;ffffffffa034aea5&gt;] ath_tx_node_cleanup+0x185/0x1b0 [ath9k]
 [&lt;ffffffffa0345597&gt;] ath9k_sta_notify+0x57/0xb0 [ath9k]
 [&lt;ffffffffa02ac51a&gt;] __sta_info_unlink+0x15a/0x260 [mac80211]
 [&lt;ffffffffa02ac658&gt;] sta_info_unlink+0x38/0x60 [mac80211]
 [&lt;ffffffffa02b3fbe&gt;] ieee80211_set_disassoc+0x1ae/0x210 [mac80211]
 [&lt;ffffffffa02b42d9&gt;] ieee80211_mgd_deauth+0x109/0x110 [mac80211]
 [&lt;ffffffffa02ba409&gt;] ieee80211_deauth+0x19/0x20 [mac80211]
 [&lt;ffffffffa028160e&gt;] __cfg80211_mlme_deauth+0xee/0x130 [cfg80211]
 [&lt;ffffffff81118540&gt;] ? init_object+0x50/0x90
 [&lt;ffffffffa0285429&gt;] __cfg80211_disconnect+0x159/0x1d0 [cfg80211]
 [&lt;ffffffffa027125f&gt;] cfg80211_netdev_notifier_call+0x10f/0x450 [cfg80211]
 [&lt;ffffffff81514ca7&gt;] notifier_call_chain+0x47/0x90
 [&lt;ffffffff8107f501&gt;] raw_notifier_call_chain+0x11/0x20
 [&lt;ffffffff81442d66&gt;] call_netdevice_notifiers+0x16/0x20
 [&lt;ffffffff8144352d&gt;] dev_close+0x4d/0xa0
 [&lt;ffffffff814439a8&gt;] rollback_registered+0x48/0x120
 [&lt;ffffffff81443a9d&gt;] unregister_netdevice+0x1d/0x70
 [&lt;ffffffffa02b6cc4&gt;] ieee80211_remove_interfaces+0x84/0xc0 [mac80211]
 [&lt;ffffffffa02aa072&gt;] ieee80211_unregister_hw+0x42/0xf0 [mac80211]
 [&lt;ffffffffa0347bde&gt;] ath_detach+0x8e/0x180 [ath9k]
 [&lt;ffffffffa0347ce1&gt;] ath_cleanup+0x11/0x50 [ath9k]
 [&lt;ffffffffa0351a2c&gt;] ath_pci_remove+0x1c/0x20 [ath9k]
 [&lt;ffffffff8129d712&gt;] pci_device_remove+0x32/0x60
 [&lt;ffffffff81332373&gt;] __device_release_driver+0x53/0xb0
 [&lt;ffffffff81332498&gt;] driver_detach+0xc8/0xd0
 [&lt;ffffffff81331405&gt;] bus_remove_driver+0x85/0xe0
 [&lt;ffffffff81332a5a&gt;] driver_unregister+0x5a/0x90
 [&lt;ffffffff8129da00&gt;] pci_unregister_driver+0x40/0xb0
 [&lt;ffffffffa03518d0&gt;] ath_pci_exit+0x10/0x20 [ath9k]
 [&lt;ffffffffa0353cd5&gt;] ath9k_exit+0x9/0x2a [ath9k]
 [&lt;ffffffff81092838&gt;] sys_delete_module+0x1a8/0x270
 [&lt;ffffffff8107ebe9&gt;] ? up_read+0x9/0x10
 [&lt;ffffffff81011f82&gt;] system_call_fastpath+0x16/0x1b
---[ end trace fad957019ffdd40b ]---
phy0: Removed STA 00:22:6b:56:fd:e8
phy0: Destroyed STA 00:22:6b:56:fd:e8
wlan31: deauthenticating from 00:22:6b:56:fd:e8 by local choice (reason=3)
ath9k 0000:16:00.0: PCI INT A disabled

The original lockdep fixed an issue where due to the new changes
the driver was not disabling the bottom halves but it is incorrect
to do this on the older kernels since IRQs are already disabled.

Cc: Ming Lei &lt;tom.leiming@gmail.com&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.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>
Johannes' patch 34e8950 titled:

	mac80211: allow station add/remove to sleep

changed the way mac80211 adds and removes peers. The new
sta_add() / sta_remove() callbacks allowed the driver callbacks
to sleep. Johannes also ported ath9k to use sta_add() / sta_remove()
via the patch 4ca7786 titled:

	ath9k: convert to new station add/remove callbacks

but this patch forgot to address a change in locking issue which
Ming Lei eventually found on his 2.6.33-wl #12 build. The 2.6.33-wl
build includes code for the 802.11 subsystem for 2.6.34 though so did
already have the above two patches (ath9k_sta_remove() on his trace),
the 2.6.33 kernel did not however have these two patches. Ming eventually
cured his lockdep warnign via the patch a9f042c titled:

	ath9k: fix lockdep warning when unloading module

This went in to 2.6.34 and although it was not marked as a stable
fix it did get trickled down and applied on both 2.6.33 and 2.6.32.

In review, the culprits:

	mac80211: allow station add/remove to sleep
git describe --contains 34e895075e21be3e21e71d6317440d1ee7969ad0
v2.6.34-rc1~233^2~49^2~107

	ath9k: convert to new station add/remove callbacks
git describe --contains 4ca778605cfec53d8a689f0b57babb93b030c784
v2.6.34-rc1~233^2~49^2~10

	ath9k: fix lockdep warning when unloading module

This last one trickled down to 2.6.33 (OK), 2.6.33 (invalid) and 2.6.32 (invalid).

git describe --contains a9f042cbe5284f34ccff15f3084477e11b39b17b
v2.6.34-rc2~48^2~77^2~7
git describe --contains 0524bcfa80f1fffb4e1fe18a0a28900869a58a7c
v2.6.33.2~125
git describe --contains 0dcc9985f34aef3c60bffab3dfc7f7ba3748f35a
v2.6.32.11~79

The patch titled "ath9k: fix lockdep warning when unloading module"
should be reverted on both 2.6.33 and 2.6.32 as it is invalid and
actually ended up causing the following warning:

ADDRCONF(NETDEV_CHANGE): wlan31: link becomes ready
phy0: WMM queue=2 aci=0 acm=0 aifs=3 cWmin=15 cWmax=1023 txop=0
phy0: WMM queue=3 aci=1 acm=0 aifs=7 cWmin=15 cWmax=1023 txop=0
phy0: WMM queue=1 aci=2 acm=0 aifs=2 cWmin=7 cWmax=15 txop=94
phy0: WMM queue=0 aci=3 acm=0 aifs=2 cWmin=3 cWmax=7 txop=47
phy0: device now idle
------------[ cut here ]------------
WARNING: at kernel/softirq.c:143 local_bh_enable_ip+0x7b/0xa0()
Hardware name: 7660A14
Modules linked in: ath9k(-) mac80211 ath cfg80211 &lt;whatever-bleh-etc&gt;
Pid: 2003, comm: rmmod Not tainted 2.6.32.11 #6
Call Trace:
 [&lt;ffffffff8105d178&gt;] warn_slowpath_common+0x78/0xb0
 [&lt;ffffffff8105d1bf&gt;] warn_slowpath_null+0xf/0x20
 [&lt;ffffffff81063f8b&gt;] local_bh_enable_ip+0x7b/0xa0
 [&lt;ffffffff815121e4&gt;] _spin_unlock_bh+0x14/0x20
 [&lt;ffffffffa034aea5&gt;] ath_tx_node_cleanup+0x185/0x1b0 [ath9k]
 [&lt;ffffffffa0345597&gt;] ath9k_sta_notify+0x57/0xb0 [ath9k]
 [&lt;ffffffffa02ac51a&gt;] __sta_info_unlink+0x15a/0x260 [mac80211]
 [&lt;ffffffffa02ac658&gt;] sta_info_unlink+0x38/0x60 [mac80211]
 [&lt;ffffffffa02b3fbe&gt;] ieee80211_set_disassoc+0x1ae/0x210 [mac80211]
 [&lt;ffffffffa02b42d9&gt;] ieee80211_mgd_deauth+0x109/0x110 [mac80211]
 [&lt;ffffffffa02ba409&gt;] ieee80211_deauth+0x19/0x20 [mac80211]
 [&lt;ffffffffa028160e&gt;] __cfg80211_mlme_deauth+0xee/0x130 [cfg80211]
 [&lt;ffffffff81118540&gt;] ? init_object+0x50/0x90
 [&lt;ffffffffa0285429&gt;] __cfg80211_disconnect+0x159/0x1d0 [cfg80211]
 [&lt;ffffffffa027125f&gt;] cfg80211_netdev_notifier_call+0x10f/0x450 [cfg80211]
 [&lt;ffffffff81514ca7&gt;] notifier_call_chain+0x47/0x90
 [&lt;ffffffff8107f501&gt;] raw_notifier_call_chain+0x11/0x20
 [&lt;ffffffff81442d66&gt;] call_netdevice_notifiers+0x16/0x20
 [&lt;ffffffff8144352d&gt;] dev_close+0x4d/0xa0
 [&lt;ffffffff814439a8&gt;] rollback_registered+0x48/0x120
 [&lt;ffffffff81443a9d&gt;] unregister_netdevice+0x1d/0x70
 [&lt;ffffffffa02b6cc4&gt;] ieee80211_remove_interfaces+0x84/0xc0 [mac80211]
 [&lt;ffffffffa02aa072&gt;] ieee80211_unregister_hw+0x42/0xf0 [mac80211]
 [&lt;ffffffffa0347bde&gt;] ath_detach+0x8e/0x180 [ath9k]
 [&lt;ffffffffa0347ce1&gt;] ath_cleanup+0x11/0x50 [ath9k]
 [&lt;ffffffffa0351a2c&gt;] ath_pci_remove+0x1c/0x20 [ath9k]
 [&lt;ffffffff8129d712&gt;] pci_device_remove+0x32/0x60
 [&lt;ffffffff81332373&gt;] __device_release_driver+0x53/0xb0
 [&lt;ffffffff81332498&gt;] driver_detach+0xc8/0xd0
 [&lt;ffffffff81331405&gt;] bus_remove_driver+0x85/0xe0
 [&lt;ffffffff81332a5a&gt;] driver_unregister+0x5a/0x90
 [&lt;ffffffff8129da00&gt;] pci_unregister_driver+0x40/0xb0
 [&lt;ffffffffa03518d0&gt;] ath_pci_exit+0x10/0x20 [ath9k]
 [&lt;ffffffffa0353cd5&gt;] ath9k_exit+0x9/0x2a [ath9k]
 [&lt;ffffffff81092838&gt;] sys_delete_module+0x1a8/0x270
 [&lt;ffffffff8107ebe9&gt;] ? up_read+0x9/0x10
 [&lt;ffffffff81011f82&gt;] system_call_fastpath+0x16/0x1b
---[ end trace fad957019ffdd40b ]---
phy0: Removed STA 00:22:6b:56:fd:e8
phy0: Destroyed STA 00:22:6b:56:fd:e8
wlan31: deauthenticating from 00:22:6b:56:fd:e8 by local choice (reason=3)
ath9k 0000:16:00.0: PCI INT A disabled

The original lockdep fixed an issue where due to the new changes
the driver was not disabling the bottom halves but it is incorrect
to do this on the older kernels since IRQs are already disabled.

Cc: Ming Lei &lt;tom.leiming@gmail.com&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: clear all the stop_queue flag after load firmware</title>
<updated>2010-05-26T21:32:11+00:00</updated>
<author>
<name>Wey-Yi Guy</name>
<email>wey-yi.w.guy@intel.com</email>
</author>
<published>2010-02-09T16:14:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4c55f33e52794d882f7f210841abb3a5e558a024'/>
<id>4c55f33e52794d882f7f210841abb3a5e558a024</id>
<content type='text'>
commit a9e10fb9b1c6ad16e73cf2656951fce3a817611e upstream.

All the queues are awake and ready to use after loading firmware,
for firmware reload case, if any queues was stopped before
reload, mac80211 will wake those queues after restart hardware, so make
sure all the flag used to keep track of the queue status are
reset correctly.

Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: Reinette Chatre &lt;reinette.chatre@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 a9e10fb9b1c6ad16e73cf2656951fce3a817611e upstream.

All the queues are awake and ready to use after loading firmware,
for firmware reload case, if any queues was stopped before
reload, mac80211 will wake those queues after restart hardware, so make
sure all the flag used to keep track of the queue status are
reset correctly.

Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: check for aggregation frame and queue</title>
<updated>2010-05-26T21:32:11+00:00</updated>
<author>
<name>Wey-Yi Guy</name>
<email>wey-yi.w.guy@intel.com</email>
</author>
<published>2010-02-03T20:24:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bd57506de6ee6932e740b9b2b939e7ca439b8feb'/>
<id>bd57506de6ee6932e740b9b2b939e7ca439b8feb</id>
<content type='text'>
commit 45d427001b5eec03cecaacddb53c73af46bb263e upstream.

Error checking for aggregation frames should go into aggregation queue,
if aggregation queue not available, use legacy queue instead.
Also make sure the aggregation queue is available to activate,
if driver and mac80211 is out-of-sync, try to disable the queue and
sync-up with mac80211.

Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: Reinette Chatre &lt;reinette.chatre@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 45d427001b5eec03cecaacddb53c73af46bb263e upstream.

Error checking for aggregation frames should go into aggregation queue,
if aggregation queue not available, use legacy queue instead.
Also make sure the aggregation queue is available to activate,
if driver and mac80211 is out-of-sync, try to disable the queue and
sync-up with mac80211.

Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: Disable FBC on 915GM and 945GM.</title>
<updated>2010-05-26T21:32:10+00:00</updated>
<author>
<name>Robert Hooker</name>
<email>sarvatt@ubuntu.com</email>
</author>
<published>2010-03-19T19:13:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=12d1d28cfaef6f065819a717c2d4c542a2fbf138'/>
<id>12d1d28cfaef6f065819a717c2d4c542a2fbf138</id>
<content type='text'>
commit 8d06a1e1e9c69244f08beb7d17146483f9dcd120 upstream.

It is causing hangs after a suspend/resume cycle with the default
powersave=1 module option on these chipsets since 2.6.32-rc.

BugLink: http://bugs.launchpad.net/bugs/492392
Signed-off-by: Robert Hooker &lt;sarvatt@ubuntu.com&gt;
Acked-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.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 8d06a1e1e9c69244f08beb7d17146483f9dcd120 upstream.

It is causing hangs after a suspend/resume cycle with the default
powersave=1 module option on these chipsets since 2.6.32-rc.

BugLink: http://bugs.launchpad.net/bugs/492392
Signed-off-by: Robert Hooker &lt;sarvatt@ubuntu.com&gt;
Acked-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>tty: Fix unbalanced BKL handling in error path</title>
<updated>2010-05-26T21:32:07+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2010-05-04T19:42:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=90e2111a4feb6473082b723f83c6af730e06041a'/>
<id>90e2111a4feb6473082b723f83c6af730e06041a</id>
<content type='text'>
commit 77945febbe60a69e9dcab7f49d33a1aa1e436973 upstream.

Arnd noted:

After the "retry_open:" label, we first get the tty_mutex
and then the BKL. However a the end of tty_open, we jump
back to retry_open with the BKL still held. If we run into
this case, the tty_open function will be left with the BKL
still held.

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.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 77945febbe60a69e9dcab7f49d33a1aa1e436973 upstream.

Arnd noted:

After the "retry_open:" label, we first get the tty_mutex
and then the BKL. However a the end of tty_open, we jump
back to retry_open with the BKL still held. If we run into
this case, the tty_open function will be left with the BKL
still held.

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>serial: imx.c: fix CTS trigger level lower to avoid lost chars</title>
<updated>2010-05-26T21:32:07+00:00</updated>
<author>
<name>Valentin Longchamp</name>
<email>valentin.longchamp@epfl.ch</email>
</author>
<published>2010-05-05T09:47:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fea3cd8871c7f5868eed8422f276a958e3d5d0b6'/>
<id>fea3cd8871c7f5868eed8422f276a958e3d5d0b6</id>
<content type='text'>
commit 1c5250d6163dac28be3afabdfb6c723f107051b7 upstream.

The imx CTS trigger level is left at its reset value that is 32
chars. Since the RX FIFO has 32 entries, when CTS is raised, the
FIFO already is full. However, some serial port devices first empty
their TX FIFO before stopping when CTS is raised, resulting in lost
chars.

This patch sets the trigger level lower so that other chars arrive
after CTS is raised, there is still room for 16 of them.

Signed-off-by: Valentin Longchamp&lt;valentin.longchamp@epfl.ch&gt;
Tested-by: Philippe Rétornaz&lt;philippe.retornaz@epfl.ch&gt;
Acked-by: Wolfram Sang&lt;w.sang@pengutronix.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 1c5250d6163dac28be3afabdfb6c723f107051b7 upstream.

The imx CTS trigger level is left at its reset value that is 32
chars. Since the RX FIFO has 32 entries, when CTS is raised, the
FIFO already is full. However, some serial port devices first empty
their TX FIFO before stopping when CTS is raised, resulting in lost
chars.

This patch sets the trigger level lower so that other chars arrive
after CTS is raised, there is still room for 16 of them.

Signed-off-by: Valentin Longchamp&lt;valentin.longchamp@epfl.ch&gt;
Tested-by: Philippe Rétornaz&lt;philippe.retornaz@epfl.ch&gt;
Acked-by: Wolfram Sang&lt;w.sang@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>dasd: fix race between tasklet and dasd_sleep_on</title>
<updated>2010-05-26T21:32:06+00:00</updated>
<author>
<name>Stefan Weinhuber</name>
<email>wein@de.ibm.com</email>
</author>
<published>2010-05-12T07:32:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6ce2ff5259b92e67b676beab2c60bf778697f1f2'/>
<id>6ce2ff5259b92e67b676beab2c60bf778697f1f2</id>
<content type='text'>
commit 1c1e093cbf6d3a7576ba0bd10363362a1c5c74ee upstream.

The various dasd_sleep_on functions use a global wait queue when
waiting for a cqr. The wait condition checks the status and devlist
fields of the cqr to determine if it is safe to continue. This
evaluation may return true, although the tasklet has not finished
processing of the cqr and the callback function has not been called
yet. When the callback is finally called, the data in the cqr may
already be invalid. The sleep_on wait condition needs a safe way to
determine if the tasklet has finished processing. Use the
callback_data field of the cqr to store a token, which is set by
the callback function itself.

Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.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 1c1e093cbf6d3a7576ba0bd10363362a1c5c74ee upstream.

The various dasd_sleep_on functions use a global wait queue when
waiting for a cqr. The wait condition checks the status and devlist
fields of the cqr to determine if it is safe to continue. This
evaluation may return true, although the tasklet has not finished
processing of the cqr and the callback function has not been called
yet. When the callback is finally called, the data in the cqr may
already be invalid. The sleep_on wait condition needs a safe way to
determine if the tasklet has finished processing. Use the
callback_data field of the cqr to store a token, which is set by
the callback function itself.

Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: fix non-Ironlake 965 class crashes</title>
<updated>2010-05-26T21:32:06+00:00</updated>
<author>
<name>Jesse Barnes</name>
<email>jbarnes@virtuousgeek.org</email>
</author>
<published>2010-04-23T16:32:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d53662168530910feb44e0058b10e9b4ec2302be'/>
<id>d53662168530910feb44e0058b10e9b4ec2302be</id>
<content type='text'>
commit 1918ad77f7f908ed67cf37c505c6ad4ac52f1ecf upstream.

My PIPE_CONTROL fix (just sent via Eric's tree) was buggy; I was
testing a whole set of patches together and missed a conversion to the
new HAS_PIPE_CONTROL macro, which will cause breakage on non-Ironlake
965 class chips.  Fortunately, the fix is trivial and has been tested.

Be sure to use the HAS_PIPE_CONTROL macro in i915_get_gem_seqno, or
we'll end up reading the wrong graphics memory, likely causing hangs,
crashes, or worse.

Reported-by: Zdenek Kabelac &lt;zdenek.kabelac@gmail.com&gt;
Reported-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Tested-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&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 1918ad77f7f908ed67cf37c505c6ad4ac52f1ecf upstream.

My PIPE_CONTROL fix (just sent via Eric's tree) was buggy; I was
testing a whole set of patches together and missed a conversion to the
new HAS_PIPE_CONTROL macro, which will cause breakage on non-Ironlake
965 class chips.  Fortunately, the fix is trivial and has been tested.

Be sure to use the HAS_PIPE_CONTROL macro in i915_get_gem_seqno, or
we'll end up reading the wrong graphics memory, likely causing hangs,
crashes, or worse.

Reported-by: Zdenek Kabelac &lt;zdenek.kabelac@gmail.com&gt;
Reported-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Tested-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: use PIPE_CONTROL instruction on Ironlake and Sandy Bridge</title>
<updated>2010-05-26T21:32:05+00:00</updated>
<author>
<name>Jesse Barnes</name>
<email>jbarnes@virtuousgeek.org</email>
</author>
<published>2010-04-21T18:39:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1d26fe28e13ed261cace13638536d17982d2d1cd'/>
<id>1d26fe28e13ed261cace13638536d17982d2d1cd</id>
<content type='text'>
commit e552eb7038a36d9b18860f525aa02875e313fe16 upstream.

Since 965, the hardware has supported the PIPE_CONTROL command, which
provides fine grained GPU cache flushing control.  On recent chipsets,
this instruction is required for reliable interrupt and sequence number
reporting in the driver.

So add support for this instruction, including workarounds, on Ironlake
and Sandy Bridge hardware.

https://bugs.freedesktop.org/show_bug.cgi?id=27108

Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Tested-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.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 e552eb7038a36d9b18860f525aa02875e313fe16 upstream.

Since 965, the hardware has supported the PIPE_CONTROL command, which
provides fine grained GPU cache flushing control.  On recent chipsets,
this instruction is required for reliable interrupt and sequence number
reporting in the driver.

So add support for this instruction, including workarounds, on Ironlake
and Sandy Bridge hardware.

https://bugs.freedesktop.org/show_bug.cgi?id=27108

Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Tested-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: atmel-mci: remove data error interrupt after xfer</title>
<updated>2010-05-26T21:32:05+00:00</updated>
<author>
<name>Nicolas Ferre</name>
<email>nicolas.ferre@atmel.com</email>
</author>
<published>2010-05-11T21:06:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6129e3835577255a083a32841f11519ffc43051d'/>
<id>6129e3835577255a083a32841f11519ffc43051d</id>
<content type='text'>
commit abc2c9fdf636c4335a8d72ac3c5ae152bca44b68 upstream.

Disable data error interrupts while we are actually recording that there
is not such errors.  This will prevent, in some cases, the warning message
printed at new request queuing (in atmci_start_request()).

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Cc: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&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 abc2c9fdf636c4335a8d72ac3c5ae152bca44b68 upstream.

Disable data error interrupts while we are actually recording that there
is not such errors.  This will prevent, in some cases, the warning message
printed at new request queuing (in atmci_start_request()).

Signed-off-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Cc: Haavard Skinnemoen &lt;hskinnemoen@atmel.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

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