<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers, branch v3.0.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>drm/radeon: fix load detect on rn50 with hardcoded EDIDs.</title>
<updated>2012-04-22T23:21:45+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2012-04-19T14:42:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=41c4aac58d6c754e0bf7936f25b9815a3ef66f85'/>
<id>41c4aac58d6c754e0bf7936f25b9815a3ef66f85</id>
<content type='text'>
commit a09d431f344d854e4fe9cfac44f78cb8202f3eb7 upstream.

When the force changes went in back in 3.3.0, we ended up returning
disconnected in the !force case, and the connected in when forced,
as it hit the hardcoded check.

Fix it so all exits go via the hardcoded check and stop spurious
modesets on platforms with hardcoded EDIDs.

Reported-by: Evan McNabb (Red Hat)
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

When the force changes went in back in 3.3.0, we ended up returning
disconnected in the !force case, and the connected in when forced,
as it hit the hardcoded check.

Fix it so all exits go via the hardcoded check and stop spurious
modesets on platforms with hardcoded EDIDs.

Reported-by: Evan McNabb (Red Hat)
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/radeon: disable MSI on RV515</title>
<updated>2012-04-22T23:21:45+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2012-04-13T10:14:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=294256e551fcbe85be06f34fa37b98d7dc037e3b'/>
<id>294256e551fcbe85be06f34fa37b98d7dc037e3b</id>
<content type='text'>
commit 16a5e32b83fd946312b9b13590c75d20c95c5202 upstream.

My rv515 card is very flaky with msi enabled. Every so often it loses a rearm
and never comes back, manually banging the rearm brings it back.

Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

My rv515 card is very flaky with msi enabled. Every so often it loses a rearm
and never comes back, manually banging the rearm brings it back.

Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>drm/radeon/kms: fix the regression of DVI connector check</title>
<updated>2012-04-22T23:21:45+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-04-18T13:21:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5ee15f20f90173a0ed53099499d4722a803a0d85'/>
<id>5ee15f20f90173a0ed53099499d4722a803a0d85</id>
<content type='text'>
commit e36325071832f1ba96ac54fb8ba1459f08b05dd8 upstream.

The check of the encoder type in the commit [e00e8b5e: drm/radeon/kms:
fix analog load detection on DVI-I connectors] is obviously wrong, and
it's the culprit of the regression on my workstation with DVI-analog
connection resulting in the blank output.

Fixed the typo now.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

The check of the encoder type in the commit [e00e8b5e: drm/radeon/kms:
fix analog load detection on DVI-I connectors] is obviously wrong, and
it's the culprit of the regression on my workstation with DVI-analog
connection resulting in the blank output.

Fixed the typo now.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Add Atheros maryann PIDVID support</title>
<updated>2012-04-22T23:21:45+00:00</updated>
<author>
<name>Cho, Yu-Chen</name>
<email>acho@suse.com</email>
</author>
<published>2012-03-14T20:01:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a9dd7318c1cd3e131cb6d476bcc6234e720a3dab'/>
<id>a9dd7318c1cd3e131cb6d476bcc6234e720a3dab</id>
<content type='text'>
commit 07c0ea874d43c299d185948452945a361052b6e3 upstream.

Add Atheros maryann 0cf3:311d PIDVID support
This module is AR3012 Series.

Include /sys/kernel/debug/usb/devices output here for reference

before:
T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0cf3 ProdID=311d Rev= 0.01
S:  Manufacturer=Atheros Communications
S:  Product=Bluetooth USB Host Controller
S:  SerialNumber=Alaska Day 2006
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms

after:
T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0cf3 ProdID=311d Rev= 0.02
S:  Manufacturer=Atheros Communications
S:  Product=Bluetooth USB Host Controller
S:  SerialNumber=Alaska Day 2006
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms

Signed-off-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
cked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Cc: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

Add Atheros maryann 0cf3:311d PIDVID support
This module is AR3012 Series.

Include /sys/kernel/debug/usb/devices output here for reference

before:
T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0cf3 ProdID=311d Rev= 0.01
S:  Manufacturer=Atheros Communications
S:  Product=Bluetooth USB Host Controller
S:  SerialNumber=Alaska Day 2006
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms

after:
T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0cf3 ProdID=311d Rev= 0.02
S:  Manufacturer=Atheros Communications
S:  Product=Bluetooth USB Host Controller
S:  SerialNumber=Alaska Day 2006
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms

Signed-off-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
cked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Cc: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Adding USB device 13d3:3375 as an Atheros AR3012.</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Eran</name>
<email>eran@over-here.org</email>
</author>
<published>2011-12-05T22:15:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3c60ce957ce535a1cd709d95fa7743522a68a8f1'/>
<id>3c60ce957ce535a1cd709d95fa7743522a68a8f1</id>
<content type='text'>
commit 9498ba7a1d38d42eef4ef6d906ab1743c9f0fd6f upstream.

The bluetooth module in the Asus UX31/UX21 is based on Atheros AR3012
and requires a firmware to be uploaded before it's usable.

output of usb-devices for this module:
T:  Bus=01 Lev=02 Prnt=02 Port=07 Cnt=03 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=13d3 ProdID=3375 Rev=00.02
S:  Manufacturer=Atheros Communications
S:  Product=Bluetooth USB Host Controller
S:  SerialNumber=Alaska Day 2006
C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

Signed-off-by: Eran &lt;eran@over-here.org&gt;
Tested-by: Michal Labedzki &lt;michal.labedzki@tieto.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Cc: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

The bluetooth module in the Asus UX31/UX21 is based on Atheros AR3012
and requires a firmware to be uploaded before it's usable.

output of usb-devices for this module:
T:  Bus=01 Lev=02 Prnt=02 Port=07 Cnt=03 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=13d3 ProdID=3375 Rev=00.02
S:  Manufacturer=Atheros Communications
S:  Product=Bluetooth USB Host Controller
S:  SerialNumber=Alaska Day 2006
C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

Signed-off-by: Eran &lt;eran@over-here.org&gt;
Tested-by: Michal Labedzki &lt;michal.labedzki@tieto.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Cc: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>md/bitmap: prevent bitmap_daemon_work running while initialising bitmap</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2012-04-12T06:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a10d1f32dbf1b9f74b6b6ba1571ee3f7a1bd3883'/>
<id>a10d1f32dbf1b9f74b6b6ba1571ee3f7a1bd3883</id>
<content type='text'>
commit afbaa90b80b1ec66e5137cc3824746bfdf559b18 upstream.

If a bitmap is added while the array is active, it is possible
for bitmap_daemon_work to run while the bitmap is being
initialised.
This is particularly a problem if bitmap_daemon_work sees
bitmap-&gt;filemap as non-NULL before it has been filled in properly.
So hold bitmap_info.mutex while filling in -&gt;filemap
to prevent problems.

This patch is suitable for any -stable kernel, though it might not
apply cleanly before about 3.1.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

If a bitmap is added while the array is active, it is possible
for bitmap_daemon_work to run while the bitmap is being
initialised.
This is particularly a problem if bitmap_daemon_work sees
bitmap-&gt;filemap as non-NULL before it has been filled in properly.
So hold bitmap_info.mutex while filling in -&gt;filemap
to prevent problems.

This patch is suitable for any -stable kernel, though it might not
apply cleanly before about 3.1.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Support new device LAPIS Semiconductor ML7831 IOH</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya.rohm@gmail.com</email>
</author>
<published>2011-11-17T07:14:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=127f90d6ff47e9095261f442d1ad511930cd7fd4'/>
<id>127f90d6ff47e9095261f442d1ad511930cd7fd4</id>
<content type='text'>
commit ca7fe2db892dcf91b2c72ee352eda4ff867903a7 upstream.

ML7831 is companion chip for Intel Atom E6xx series.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

ML7831 is companion chip for Intel Atom E6xx series.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Fix suspend issue</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.lapis-semi.com</email>
</author>
<published>2011-10-11T12:43:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5e051465ef7ef611bcf6cb83d4dd85483417276f'/>
<id>5e051465ef7ef611bcf6cb83d4dd85483417276f</id>
<content type='text'>
commit c43f1508686e8e4746012bf87995085eeb0f5307 upstream.

Currently, executing suspend/hibernation,
memory access violation occurs.

In pch_dma_save_regs() called by suspend(),
you can see the following code.

static void pch_dma_save_regs(struct pch_dma *pd)
{
snip...
        list_for_each_entry_safe(chan, _c, &amp;pd-&gt;dma.channels, device_node) {
                pd_chan = to_pd_chan(chan);

                pd-&gt;ch_regs[i].dev_addr = channel_readl(pd_chan, DEV_ADDR);
                pd-&gt;ch_regs[i].mem_addr = channel_readl(pd_chan, MEM_ADDR);
                pd-&gt;ch_regs[i].size = channel_readl(pd_chan, SIZE);
                pd-&gt;ch_regs[i].next = channel_readl(pd_chan, NEXT);

                i++;
        }
}

Max loop count is 12 defined at pci_table.
So, this caused memory access violation.

This patch fixes the issue
 - Modify array size (MAX_CHAN_NR)

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.lapis-semi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

Currently, executing suspend/hibernation,
memory access violation occurs.

In pch_dma_save_regs() called by suspend(),
you can see the following code.

static void pch_dma_save_regs(struct pch_dma *pd)
{
snip...
        list_for_each_entry_safe(chan, _c, &amp;pd-&gt;dma.channels, device_node) {
                pd_chan = to_pd_chan(chan);

                pd-&gt;ch_regs[i].dev_addr = channel_readl(pd_chan, DEV_ADDR);
                pd-&gt;ch_regs[i].mem_addr = channel_readl(pd_chan, MEM_ADDR);
                pd-&gt;ch_regs[i].size = channel_readl(pd_chan, SIZE);
                pd-&gt;ch_regs[i].next = channel_readl(pd_chan, NEXT);

                i++;
        }
}

Max loop count is 12 defined at pci_table.
So, this caused memory access violation.

This patch fixes the issue
 - Modify array size (MAX_CHAN_NR)

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.lapis-semi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Fix CTL register access issue</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.okisemi.com</email>
</author>
<published>2011-07-14T00:52:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c9f52d613590b10630ab8bb222ae05c551389425'/>
<id>c9f52d613590b10630ab8bb222ae05c551389425</id>
<content type='text'>
commit 0b052f4a088ddc47a5da23dd733522241314cfb4 upstream.

Currently, Mode-Control register is accessed by read-modify-write.

According to DMA hardware specifications datasheet, prohibits this method.
Because this register resets to 0 by DMA HW after DMA transfer completes.
Thus, current read-modify-write processing can cause unexpected behavior.

The datasheet says in case of writing Mode-Control register, set the value for only target channel, the others must set '11b'.
e.g. Set DMA0=01b  DMA11=10b
CTL0=33333331h
CTL2=00002333h

NOTE:
CTL0 includes DMA0~7 Mode-Control register.
CTL2 includes DMA8~11 Mode-Control register.

This patch modifies the issue.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

Currently, Mode-Control register is accessed by read-modify-write.

According to DMA hardware specifications datasheet, prohibits this method.
Because this register resets to 0 by DMA HW after DMA transfer completes.
Thus, current read-modify-write processing can cause unexpected behavior.

The datasheet says in case of writing Mode-Control register, set the value for only target channel, the others must set '11b'.
e.g. Set DMA0=01b  DMA11=10b
CTL0=33333331h
CTL2=00002333h

NOTE:
CTL0 includes DMA0~7 Mode-Control register.
CTL2 includes DMA8~11 Mode-Control register.

This patch modifies the issue.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Fix channel locking</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Alexander Stein</name>
<email>alexander.stein@systec-electronic.com</email>
</author>
<published>2011-06-22T15:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=724d7ad550fb6ed11ce40425eb0206f90faf665a'/>
<id>724d7ad550fb6ed11ce40425eb0206f90faf665a</id>
<content type='text'>
commit 70f18915846f092e0e1c988f1726a532fa3ab3a1 upstream.

Fix for the following INFO message

=================================
[ INFO: inconsistent lock state ]
2.6.39+ #89
---------------------------------
inconsistent {HARDIRQ-ON-W} -&gt; {IN-HARDIRQ-W} usage.
rs232/822 [HC1[1]:SC0[0]:HE0:SE1] takes:
 (&amp;(&amp;pd_chan-&gt;lock)-&gt;rlock){?.....}, at: [&lt;c123b9a1&gt;] pdc_desc_get+0x16/0xab
{HARDIRQ-ON-W} state was registered at:
  [&lt;c104fe28&gt;] mark_irqflags+0xbd/0x11a
  [&lt;c1050386&gt;] __lock_acquire+0x501/0x6bb
  [&lt;c1050945&gt;] lock_acquire+0x63/0x7b
  [&lt;c131c51d&gt;] _raw_spin_lock_bh+0x43/0x51
  [&lt;c123bee4&gt;] pd_alloc_chan_resources+0x92/0x11e
  [&lt;c123ad62&gt;] dma_chan_get+0x9b/0x107
  [&lt;c123b2d1&gt;] __dma_request_channel+0x61/0xdc
  [&lt;c11ba24b&gt;] pch_request_dma+0x61/0x19e
  [&lt;c11bb3b8&gt;] pch_uart_startup+0x16a/0x1a2
  [&lt;c11b8446&gt;] uart_startup+0x87/0x147
  [&lt;c11b9183&gt;] uart_open+0x117/0x13e
  [&lt;c11a5c7d&gt;] tty_open+0x23c/0x34c
  [&lt;c1097705&gt;] chrdev_open+0x140/0x15f
  [&lt;c10930a6&gt;] __dentry_open.clone.14+0x14a/0x22b
  [&lt;c1093dfb&gt;] nameidata_to_filp+0x36/0x40
  [&lt;c109f28b&gt;] do_last+0x513/0x635
  [&lt;c109f4af&gt;] path_openat+0x9c/0x2aa
  [&lt;c109f6e4&gt;] do_filp_open+0x27/0x69
  [&lt;c1093f02&gt;] do_sys_open+0xfd/0x184
  [&lt;c1093fad&gt;] sys_open+0x24/0x2a
  [&lt;c131d58c&gt;] sysenter_do_call+0x12/0x32
irq event stamp: 2522
hardirqs last  enabled at (2521): [&lt;c131ca3b&gt;] _raw_spin_unlock_irqrestore+0x36/0x52
hardirqs last disabled at (2522): [&lt;c131db27&gt;] common_interrupt+0x27/0x34
softirqs last  enabled at (2354): [&lt;c102fa11&gt;] __do_softirq+0x10a/0x11a
softirqs last disabled at (2299): [&lt;c10041a4&gt;] do_softirq+0x57/0xa4

other info that might help us debug this:
2 locks held by rs232/822:
 #0:  (&amp;tty-&gt;atomic_write_lock){+.+.+.}, at: [&lt;c11a4b7a&gt;] tty_write_lock+0x14/0x3c
 #1:  (&amp;port_lock_key){-.....}, at: [&lt;c11bad72&gt;] pch_uart_interrupt+0x17/0x1e9

stack backtrace:
Pid: 822, comm: rs232 Not tainted 2.6.39+ #89
Call Trace:
 [&lt;c1319f90&gt;] ? printk+0x19/0x1b
 [&lt;c104f893&gt;] print_usage_bug+0x184/0x18f
 [&lt;c104e5b1&gt;] ? print_irq_inversion_bug+0x10e/0x10e
 [&lt;c104f943&gt;] mark_lock_irq+0xa5/0x1f6
 [&lt;c104fc9c&gt;] mark_lock+0x208/0x2d7
 [&lt;c104fdc0&gt;] mark_irqflags+0x55/0x11a
 [&lt;c1050386&gt;] __lock_acquire+0x501/0x6bb
 [&lt;c10042ee&gt;] ? dump_trace+0x92/0xb6
 [&lt;c1050945&gt;] lock_acquire+0x63/0x7b
 [&lt;c123b9a1&gt;] ? pdc_desc_get+0x16/0xab
 [&lt;c131c2d0&gt;] _raw_spin_lock+0x3e/0x4c
 [&lt;c123b9a1&gt;] ? pdc_desc_get+0x16/0xab
 [&lt;c123b9a1&gt;] pdc_desc_get+0x16/0xab
 [&lt;c10504d8&gt;] ? __lock_acquire+0x653/0x6bb
 [&lt;c123bb2c&gt;] pd_prep_slave_sg+0x7c/0x1cb
 [&lt;c1006c3f&gt;] ? nommu_map_sg+0x6e/0x81
 [&lt;c11bace6&gt;] dma_handle_tx+0x2cf/0x344
 [&lt;c11bad72&gt;] ? pch_uart_interrupt+0x17/0x1e9
 [&lt;c11baebb&gt;] pch_uart_interrupt+0x160/0x1e9
 [&lt;c10642fb&gt;] handle_irq_event_percpu+0x25/0x127
 [&lt;c1064429&gt;] handle_irq_event+0x2c/0x43
 [&lt;c1065e0d&gt;] ? handle_fasteoi_irq+0x84/0x84
 [&lt;c1065eb9&gt;] handle_edge_irq+0xac/0xce
 &lt;IRQ&gt;  [&lt;c1003ecb&gt;] ? do_IRQ+0x38/0x9d
 [&lt;c131db2e&gt;] ? common_interrupt+0x2e/0x34
 [&lt;c105007b&gt;] ? __lock_acquire+0x1f6/0x6bb
 [&lt;c131ca3d&gt;] ? _raw_spin_unlock_irqrestore+0x38/0x52
 [&lt;c11b798b&gt;] ? uart_start+0x2d/0x32
 [&lt;c11b7998&gt;] ? uart_flush_chars+0x8/0xa
 [&lt;c11a7962&gt;] ? n_tty_write+0x12c/0x1c6
 [&lt;c1027a73&gt;] ? try_to_wake_up+0x251/0x251
 [&lt;c11a4d0b&gt;] ? tty_write+0x169/0x1dc
 [&lt;c11a7836&gt;] ? n_tty_ioctl+0xb7/0xb7
 [&lt;c1094841&gt;] ? vfs_write+0x91/0x10d
 [&lt;c11a4ba2&gt;] ? tty_write_lock+0x3c/0x3c
 [&lt;c1094a69&gt;] ? sys_write+0x3e/0x63
 [&lt;c131d58c&gt;] ? sysenter_do_call+0x12/0x32

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Tested-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

Fix for the following INFO message

=================================
[ INFO: inconsistent lock state ]
2.6.39+ #89
---------------------------------
inconsistent {HARDIRQ-ON-W} -&gt; {IN-HARDIRQ-W} usage.
rs232/822 [HC1[1]:SC0[0]:HE0:SE1] takes:
 (&amp;(&amp;pd_chan-&gt;lock)-&gt;rlock){?.....}, at: [&lt;c123b9a1&gt;] pdc_desc_get+0x16/0xab
{HARDIRQ-ON-W} state was registered at:
  [&lt;c104fe28&gt;] mark_irqflags+0xbd/0x11a
  [&lt;c1050386&gt;] __lock_acquire+0x501/0x6bb
  [&lt;c1050945&gt;] lock_acquire+0x63/0x7b
  [&lt;c131c51d&gt;] _raw_spin_lock_bh+0x43/0x51
  [&lt;c123bee4&gt;] pd_alloc_chan_resources+0x92/0x11e
  [&lt;c123ad62&gt;] dma_chan_get+0x9b/0x107
  [&lt;c123b2d1&gt;] __dma_request_channel+0x61/0xdc
  [&lt;c11ba24b&gt;] pch_request_dma+0x61/0x19e
  [&lt;c11bb3b8&gt;] pch_uart_startup+0x16a/0x1a2
  [&lt;c11b8446&gt;] uart_startup+0x87/0x147
  [&lt;c11b9183&gt;] uart_open+0x117/0x13e
  [&lt;c11a5c7d&gt;] tty_open+0x23c/0x34c
  [&lt;c1097705&gt;] chrdev_open+0x140/0x15f
  [&lt;c10930a6&gt;] __dentry_open.clone.14+0x14a/0x22b
  [&lt;c1093dfb&gt;] nameidata_to_filp+0x36/0x40
  [&lt;c109f28b&gt;] do_last+0x513/0x635
  [&lt;c109f4af&gt;] path_openat+0x9c/0x2aa
  [&lt;c109f6e4&gt;] do_filp_open+0x27/0x69
  [&lt;c1093f02&gt;] do_sys_open+0xfd/0x184
  [&lt;c1093fad&gt;] sys_open+0x24/0x2a
  [&lt;c131d58c&gt;] sysenter_do_call+0x12/0x32
irq event stamp: 2522
hardirqs last  enabled at (2521): [&lt;c131ca3b&gt;] _raw_spin_unlock_irqrestore+0x36/0x52
hardirqs last disabled at (2522): [&lt;c131db27&gt;] common_interrupt+0x27/0x34
softirqs last  enabled at (2354): [&lt;c102fa11&gt;] __do_softirq+0x10a/0x11a
softirqs last disabled at (2299): [&lt;c10041a4&gt;] do_softirq+0x57/0xa4

other info that might help us debug this:
2 locks held by rs232/822:
 #0:  (&amp;tty-&gt;atomic_write_lock){+.+.+.}, at: [&lt;c11a4b7a&gt;] tty_write_lock+0x14/0x3c
 #1:  (&amp;port_lock_key){-.....}, at: [&lt;c11bad72&gt;] pch_uart_interrupt+0x17/0x1e9

stack backtrace:
Pid: 822, comm: rs232 Not tainted 2.6.39+ #89
Call Trace:
 [&lt;c1319f90&gt;] ? printk+0x19/0x1b
 [&lt;c104f893&gt;] print_usage_bug+0x184/0x18f
 [&lt;c104e5b1&gt;] ? print_irq_inversion_bug+0x10e/0x10e
 [&lt;c104f943&gt;] mark_lock_irq+0xa5/0x1f6
 [&lt;c104fc9c&gt;] mark_lock+0x208/0x2d7
 [&lt;c104fdc0&gt;] mark_irqflags+0x55/0x11a
 [&lt;c1050386&gt;] __lock_acquire+0x501/0x6bb
 [&lt;c10042ee&gt;] ? dump_trace+0x92/0xb6
 [&lt;c1050945&gt;] lock_acquire+0x63/0x7b
 [&lt;c123b9a1&gt;] ? pdc_desc_get+0x16/0xab
 [&lt;c131c2d0&gt;] _raw_spin_lock+0x3e/0x4c
 [&lt;c123b9a1&gt;] ? pdc_desc_get+0x16/0xab
 [&lt;c123b9a1&gt;] pdc_desc_get+0x16/0xab
 [&lt;c10504d8&gt;] ? __lock_acquire+0x653/0x6bb
 [&lt;c123bb2c&gt;] pd_prep_slave_sg+0x7c/0x1cb
 [&lt;c1006c3f&gt;] ? nommu_map_sg+0x6e/0x81
 [&lt;c11bace6&gt;] dma_handle_tx+0x2cf/0x344
 [&lt;c11bad72&gt;] ? pch_uart_interrupt+0x17/0x1e9
 [&lt;c11baebb&gt;] pch_uart_interrupt+0x160/0x1e9
 [&lt;c10642fb&gt;] handle_irq_event_percpu+0x25/0x127
 [&lt;c1064429&gt;] handle_irq_event+0x2c/0x43
 [&lt;c1065e0d&gt;] ? handle_fasteoi_irq+0x84/0x84
 [&lt;c1065eb9&gt;] handle_edge_irq+0xac/0xce
 &lt;IRQ&gt;  [&lt;c1003ecb&gt;] ? do_IRQ+0x38/0x9d
 [&lt;c131db2e&gt;] ? common_interrupt+0x2e/0x34
 [&lt;c105007b&gt;] ? __lock_acquire+0x1f6/0x6bb
 [&lt;c131ca3d&gt;] ? _raw_spin_unlock_irqrestore+0x38/0x52
 [&lt;c11b798b&gt;] ? uart_start+0x2d/0x32
 [&lt;c11b7998&gt;] ? uart_flush_chars+0x8/0xa
 [&lt;c11a7962&gt;] ? n_tty_write+0x12c/0x1c6
 [&lt;c1027a73&gt;] ? try_to_wake_up+0x251/0x251
 [&lt;c11a4d0b&gt;] ? tty_write+0x169/0x1dc
 [&lt;c11a7836&gt;] ? n_tty_ioctl+0xb7/0xb7
 [&lt;c1094841&gt;] ? vfs_write+0x91/0x10d
 [&lt;c11a4ba2&gt;] ? tty_write_lock+0x3c/0x3c
 [&lt;c1094a69&gt;] ? sys_write+0x3e/0x63
 [&lt;c131d58c&gt;] ? sysenter_do_call+0x12/0x32

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Tested-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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