<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/spi, branch v3.16.6</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>spi: sirf: enable RX_IO_DMA_INT interrupt</title>
<updated>2014-10-05T20:41:09+00:00</updated>
<author>
<name>Qipan Li</name>
<email>Qipan.Li@csr.com</email>
</author>
<published>2014-09-02T09:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=30b9f42a25842ddcb389ee917a2f95348cfa550a'/>
<id>30b9f42a25842ddcb389ee917a2f95348cfa550a</id>
<content type='text'>
commit f2a08b404691ef3e7be6ce81c185335cfc68b6db upstream.

in spi interrupt handler, we need check RX_IO_DMA status to ensure
rx fifo have received the specify count data.

if not set, the while statement in spi isr function will keep loop,
at last, make the kernel hang.

[The code is actually there in the interrupt handler but apparently it
needs the interrupt unmasking so the handler sees the status -- broonie]

Signed-off-by: Qipan Li &lt;Qipan.Li@csr.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&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 f2a08b404691ef3e7be6ce81c185335cfc68b6db upstream.

in spi interrupt handler, we need check RX_IO_DMA status to ensure
rx fifo have received the specify count data.

if not set, the while statement in spi isr function will keep loop,
at last, make the kernel hang.

[The code is actually there in the interrupt handler but apparently it
needs the interrupt unmasking so the handler sees the status -- broonie]

Signed-off-by: Qipan Li &lt;Qipan.Li@csr.com&gt;
Signed-off-by: Barry Song &lt;Baohua.Song@csr.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>spi: dw: Don't use devm_kzalloc in master-&gt;setup callback</title>
<updated>2014-10-05T20:41:09+00:00</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@ingics.com</email>
</author>
<published>2014-08-31T04:47:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2ac3e493a3e353d0fc1b69ead7952d436638453f'/>
<id>2ac3e493a3e353d0fc1b69ead7952d436638453f</id>
<content type='text'>
commit a97c883a16da7e0691a3be5465926c92a8da4da6 upstream.

device_add() expects that any memory allocated via devm_* API is only
done in the device's probe function.

Fix below boot warning:
WARNING: CPU: 1 PID: 1 at drivers/base/dd.c:286 driver_probe_device+0x2b4/0x2f4()
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.16.0-10474-g835c90b-dirty #160
[&lt;c0016364&gt;] (unwind_backtrace) from [&lt;c001251c&gt;] (show_stack+0x20/0x24)
[&lt;c001251c&gt;] (show_stack) from [&lt;c04eaefc&gt;] (dump_stack+0x7c/0x98)
[&lt;c04eaefc&gt;] (dump_stack) from [&lt;c0023d4c&gt;] (warn_slowpath_common+0x78/0x9c)
[&lt;c0023d4c&gt;] (warn_slowpath_common) from [&lt;c0023d9c&gt;] (warn_slowpath_null+0x2c/0x34)
[&lt;c0023d9c&gt;] (warn_slowpath_null) from [&lt;c0302c60&gt;] (driver_probe_device+0x2b4/0x2f4)
[&lt;c0302c60&gt;] (driver_probe_device) from [&lt;c0302d90&gt;] (__device_attach+0x50/0x54)
[&lt;c0302d90&gt;] (__device_attach) from [&lt;c0300e60&gt;] (bus_for_each_drv+0x54/0x9c)
[&lt;c0300e60&gt;] (bus_for_each_drv) from [&lt;c0302958&gt;] (device_attach+0x84/0x90)
[&lt;c0302958&gt;] (device_attach) from [&lt;c0301f10&gt;] (bus_probe_device+0x94/0xb8)
[&lt;c0301f10&gt;] (bus_probe_device) from [&lt;c03000c0&gt;] (device_add+0x434/0x4fc)
[&lt;c03000c0&gt;] (device_add) from [&lt;c0342dd4&gt;] (spi_add_device+0x98/0x164)
[&lt;c0342dd4&gt;] (spi_add_device) from [&lt;c03444a4&gt;] (spi_register_master+0x598/0x768)
[&lt;c03444a4&gt;] (spi_register_master) from [&lt;c03446b4&gt;] (devm_spi_register_master+0x40/0x80)
[&lt;c03446b4&gt;] (devm_spi_register_master) from [&lt;c0346214&gt;] (dw_spi_add_host+0x1a8/0x258)
[&lt;c0346214&gt;] (dw_spi_add_host) from [&lt;c0346920&gt;] (dw_spi_mmio_probe+0x1d4/0x294)
[&lt;c0346920&gt;] (dw_spi_mmio_probe) from [&lt;c0304560&gt;] (platform_drv_probe+0x3c/0x6c)
[&lt;c0304560&gt;] (platform_drv_probe) from [&lt;c0302a98&gt;] (driver_probe_device+0xec/0x2f4)
[&lt;c0302a98&gt;] (driver_probe_device) from [&lt;c0302d3c&gt;] (__driver_attach+0x9c/0xa0)
[&lt;c0302d3c&gt;] (__driver_attach) from [&lt;c0300f0c&gt;] (bus_for_each_dev+0x64/0x98)
[&lt;c0300f0c&gt;] (bus_for_each_dev) from [&lt;c0302518&gt;] (driver_attach+0x2c/0x30)
[&lt;c0302518&gt;] (driver_attach) from [&lt;c0302134&gt;] (bus_add_driver+0xdc/0x1f4)
[&lt;c0302134&gt;] (bus_add_driver) from [&lt;c03035c8&gt;] (driver_register+0x88/0x104)
[&lt;c03035c8&gt;] (driver_register) from [&lt;c030445c&gt;] (__platform_driver_register+0x58/0x6c)
[&lt;c030445c&gt;] (__platform_driver_register) from [&lt;c0700f00&gt;] (dw_spi_mmio_driver_init+0x18/0x20)
[&lt;c0700f00&gt;] (dw_spi_mmio_driver_init) from [&lt;c0008914&gt;] (do_one_initcall+0x90/0x1d4)
[&lt;c0008914&gt;] (do_one_initcall) from [&lt;c06d7d90&gt;] (kernel_init_freeable+0x178/0x248)
[&lt;c06d7d90&gt;] (kernel_init_freeable) from [&lt;c04e687c&gt;] (kernel_init+0x18/0xfc)
[&lt;c04e687c&gt;] (kernel_init) from [&lt;c000ecd8&gt;] (ret_from_fork+0x14/0x20)

Reported-by: Thor Thayer &lt;tthayer@opensource.altera.com&gt;
Signed-off-by: Axel Lin &lt;axel.lin@ingics.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&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 a97c883a16da7e0691a3be5465926c92a8da4da6 upstream.

device_add() expects that any memory allocated via devm_* API is only
done in the device's probe function.

Fix below boot warning:
WARNING: CPU: 1 PID: 1 at drivers/base/dd.c:286 driver_probe_device+0x2b4/0x2f4()
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.16.0-10474-g835c90b-dirty #160
[&lt;c0016364&gt;] (unwind_backtrace) from [&lt;c001251c&gt;] (show_stack+0x20/0x24)
[&lt;c001251c&gt;] (show_stack) from [&lt;c04eaefc&gt;] (dump_stack+0x7c/0x98)
[&lt;c04eaefc&gt;] (dump_stack) from [&lt;c0023d4c&gt;] (warn_slowpath_common+0x78/0x9c)
[&lt;c0023d4c&gt;] (warn_slowpath_common) from [&lt;c0023d9c&gt;] (warn_slowpath_null+0x2c/0x34)
[&lt;c0023d9c&gt;] (warn_slowpath_null) from [&lt;c0302c60&gt;] (driver_probe_device+0x2b4/0x2f4)
[&lt;c0302c60&gt;] (driver_probe_device) from [&lt;c0302d90&gt;] (__device_attach+0x50/0x54)
[&lt;c0302d90&gt;] (__device_attach) from [&lt;c0300e60&gt;] (bus_for_each_drv+0x54/0x9c)
[&lt;c0300e60&gt;] (bus_for_each_drv) from [&lt;c0302958&gt;] (device_attach+0x84/0x90)
[&lt;c0302958&gt;] (device_attach) from [&lt;c0301f10&gt;] (bus_probe_device+0x94/0xb8)
[&lt;c0301f10&gt;] (bus_probe_device) from [&lt;c03000c0&gt;] (device_add+0x434/0x4fc)
[&lt;c03000c0&gt;] (device_add) from [&lt;c0342dd4&gt;] (spi_add_device+0x98/0x164)
[&lt;c0342dd4&gt;] (spi_add_device) from [&lt;c03444a4&gt;] (spi_register_master+0x598/0x768)
[&lt;c03444a4&gt;] (spi_register_master) from [&lt;c03446b4&gt;] (devm_spi_register_master+0x40/0x80)
[&lt;c03446b4&gt;] (devm_spi_register_master) from [&lt;c0346214&gt;] (dw_spi_add_host+0x1a8/0x258)
[&lt;c0346214&gt;] (dw_spi_add_host) from [&lt;c0346920&gt;] (dw_spi_mmio_probe+0x1d4/0x294)
[&lt;c0346920&gt;] (dw_spi_mmio_probe) from [&lt;c0304560&gt;] (platform_drv_probe+0x3c/0x6c)
[&lt;c0304560&gt;] (platform_drv_probe) from [&lt;c0302a98&gt;] (driver_probe_device+0xec/0x2f4)
[&lt;c0302a98&gt;] (driver_probe_device) from [&lt;c0302d3c&gt;] (__driver_attach+0x9c/0xa0)
[&lt;c0302d3c&gt;] (__driver_attach) from [&lt;c0300f0c&gt;] (bus_for_each_dev+0x64/0x98)
[&lt;c0300f0c&gt;] (bus_for_each_dev) from [&lt;c0302518&gt;] (driver_attach+0x2c/0x30)
[&lt;c0302518&gt;] (driver_attach) from [&lt;c0302134&gt;] (bus_add_driver+0xdc/0x1f4)
[&lt;c0302134&gt;] (bus_add_driver) from [&lt;c03035c8&gt;] (driver_register+0x88/0x104)
[&lt;c03035c8&gt;] (driver_register) from [&lt;c030445c&gt;] (__platform_driver_register+0x58/0x6c)
[&lt;c030445c&gt;] (__platform_driver_register) from [&lt;c0700f00&gt;] (dw_spi_mmio_driver_init+0x18/0x20)
[&lt;c0700f00&gt;] (dw_spi_mmio_driver_init) from [&lt;c0008914&gt;] (do_one_initcall+0x90/0x1d4)
[&lt;c0008914&gt;] (do_one_initcall) from [&lt;c06d7d90&gt;] (kernel_init_freeable+0x178/0x248)
[&lt;c06d7d90&gt;] (kernel_init_freeable) from [&lt;c04e687c&gt;] (kernel_init+0x18/0xfc)
[&lt;c04e687c&gt;] (kernel_init) from [&lt;c000ecd8&gt;] (ret_from_fork+0x14/0x20)

Reported-by: Thor Thayer &lt;tthayer@opensource.altera.com&gt;
Signed-off-by: Axel Lin &lt;axel.lin@ingics.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>spi: fsl: Don't use devm_kzalloc in master-&gt;setup callback</title>
<updated>2014-10-05T20:41:09+00:00</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@ingics.com</email>
</author>
<published>2014-08-31T04:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f9078a24a5fd18aef8a90e8964024ff352ad04e2'/>
<id>f9078a24a5fd18aef8a90e8964024ff352ad04e2</id>
<content type='text'>
commit d9f26748128c73ec6bed2846ca52fb1c2edc3ced upstream.

device_add() expects that any memory allocated via devm_* API is only
done in the device's probe function.

Fix below boot warning:
[    3.092348] WARNING: at drivers/base/dd.c:286
[    3.096637] Modules linked in:
[    3.099697] CPU: 0 PID: 25 Comm: kworker/u2:1 Tainted: G W 3.16.1-s3k-drv-999-svn5771_knld-999 #158
[ 3.109610] Workqueue: deferwq deferred_probe_work_func
[    3.114736] task: c787f020 ti: c790c000 task.ti: c790c000
[    3.120062] NIP: c01df158 LR: c01df144 CTR: 00000000
[    3.124983] REGS: c790db30 TRAP: 0700   Tainted: G        W (3.16.1-s3k-drv-999-svn5771_knld-999)
[    3.134162] MSR: 00029032 &lt;EE,ME,IR,DR,RI&gt;  CR: 22002082 XER: 20000000
[    3.140703]
[    3.140703] GPR00: 00000001 c790dbe0 c787f020 00000044 00000054 00000308 c056da0e 20737069
[    3.140703] GPR08: 33323736 000ebfe0 00000308 000ebfdf 22002082 00000000 c046c5a0 c046c608
[    3.140703] GPR16: c046c614 c046c620 c046c62c c046c638 c046c648 c046c654 c046c68c c046c6c4
[    3.140703] GPR24: 00000000 00000000 00000003 c0401aa0 c0596638 c059662c c054e7a8 c7996800
[    3.170102] NIP [c01df158] driver_probe_device+0xf8/0x334
[    3.175431] LR [c01df144] driver_probe_device+0xe4/0x334
[    3.180633] Call Trace:
[    3.183093] [c790dbe0] [c01df144] driver_probe_device+0xe4/0x334 (unreliable)
[    3.190147] [c790dc10] [c01dd15c] bus_for_each_drv+0x7c/0xc0
[    3.195741] [c790dc40] [c01df5fc] device_attach+0xcc/0xf8
[    3.201076] [c790dc60] [c01dd6d4] bus_probe_device+0xb4/0xc4
[    3.206666] [c790dc80] [c01db9f8] device_add+0x270/0x564
[    3.211923] [c790dcc0] [c0219e84] spi_add_device+0xc0/0x190
[    3.217427] [c790dce0] [c021a79c] spi_register_master+0x720/0x834
[    3.223455] [c790dd40] [c021cb48] of_fsl_spi_probe+0x55c/0x614
[    3.229234] [c790dda0] [c01e0d2c] platform_drv_probe+0x30/0x74
[    3.234987] [c790ddb0] [c01df18c] driver_probe_device+0x12c/0x334
[    3.241008] [c790dde0] [c01dd15c] bus_for_each_drv+0x7c/0xc0
[    3.246602] [c790de10] [c01df5fc] device_attach+0xcc/0xf8
[    3.251937] [c790de30] [c01dd6d4] bus_probe_device+0xb4/0xc4
[    3.257536] [c790de50] [c01de9d8] deferred_probe_work_func+0x98/0xe0
[    3.263816] [c790de70] [c00305b8] process_one_work+0x18c/0x440
[    3.269577] [c790dea0] [c0030a00] worker_thread+0x194/0x67c
[    3.275105] [c790def0] [c0039198] kthread+0xd0/0xe4
[    3.279911] [c790df40] [c000c6d0] ret_from_kernel_thread+0x5c/0x64
[    3.285970] Instruction dump:
[    3.288900] 80de0000 419e01d0 3b7b0038 3c60c046 7f65db78 38635264 48211b99 813f00a0
[    3.296559] 381f00a0 7d290278 3169ffff 7c0b4910 &lt;0f000000&gt; 93df0044 7fe3fb78 4bfffd4d

Reported-by: leroy christophe &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Axel Lin &lt;axel.lin@ingics.com&gt;
Tested-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&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 d9f26748128c73ec6bed2846ca52fb1c2edc3ced upstream.

device_add() expects that any memory allocated via devm_* API is only
done in the device's probe function.

Fix below boot warning:
[    3.092348] WARNING: at drivers/base/dd.c:286
[    3.096637] Modules linked in:
[    3.099697] CPU: 0 PID: 25 Comm: kworker/u2:1 Tainted: G W 3.16.1-s3k-drv-999-svn5771_knld-999 #158
[ 3.109610] Workqueue: deferwq deferred_probe_work_func
[    3.114736] task: c787f020 ti: c790c000 task.ti: c790c000
[    3.120062] NIP: c01df158 LR: c01df144 CTR: 00000000
[    3.124983] REGS: c790db30 TRAP: 0700   Tainted: G        W (3.16.1-s3k-drv-999-svn5771_knld-999)
[    3.134162] MSR: 00029032 &lt;EE,ME,IR,DR,RI&gt;  CR: 22002082 XER: 20000000
[    3.140703]
[    3.140703] GPR00: 00000001 c790dbe0 c787f020 00000044 00000054 00000308 c056da0e 20737069
[    3.140703] GPR08: 33323736 000ebfe0 00000308 000ebfdf 22002082 00000000 c046c5a0 c046c608
[    3.140703] GPR16: c046c614 c046c620 c046c62c c046c638 c046c648 c046c654 c046c68c c046c6c4
[    3.140703] GPR24: 00000000 00000000 00000003 c0401aa0 c0596638 c059662c c054e7a8 c7996800
[    3.170102] NIP [c01df158] driver_probe_device+0xf8/0x334
[    3.175431] LR [c01df144] driver_probe_device+0xe4/0x334
[    3.180633] Call Trace:
[    3.183093] [c790dbe0] [c01df144] driver_probe_device+0xe4/0x334 (unreliable)
[    3.190147] [c790dc10] [c01dd15c] bus_for_each_drv+0x7c/0xc0
[    3.195741] [c790dc40] [c01df5fc] device_attach+0xcc/0xf8
[    3.201076] [c790dc60] [c01dd6d4] bus_probe_device+0xb4/0xc4
[    3.206666] [c790dc80] [c01db9f8] device_add+0x270/0x564
[    3.211923] [c790dcc0] [c0219e84] spi_add_device+0xc0/0x190
[    3.217427] [c790dce0] [c021a79c] spi_register_master+0x720/0x834
[    3.223455] [c790dd40] [c021cb48] of_fsl_spi_probe+0x55c/0x614
[    3.229234] [c790dda0] [c01e0d2c] platform_drv_probe+0x30/0x74
[    3.234987] [c790ddb0] [c01df18c] driver_probe_device+0x12c/0x334
[    3.241008] [c790dde0] [c01dd15c] bus_for_each_drv+0x7c/0xc0
[    3.246602] [c790de10] [c01df5fc] device_attach+0xcc/0xf8
[    3.251937] [c790de30] [c01dd6d4] bus_probe_device+0xb4/0xc4
[    3.257536] [c790de50] [c01de9d8] deferred_probe_work_func+0x98/0xe0
[    3.263816] [c790de70] [c00305b8] process_one_work+0x18c/0x440
[    3.269577] [c790dea0] [c0030a00] worker_thread+0x194/0x67c
[    3.275105] [c790def0] [c0039198] kthread+0xd0/0xe4
[    3.279911] [c790df40] [c000c6d0] ret_from_kernel_thread+0x5c/0x64
[    3.285970] Instruction dump:
[    3.288900] 80de0000 419e01d0 3b7b0038 3c60c046 7f65db78 38635264 48211b99 813f00a0
[    3.296559] 381f00a0 7d290278 3169ffff 7c0b4910 &lt;0f000000&gt; 93df0044 7fe3fb78 4bfffd4d

Reported-by: leroy christophe &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Axel Lin &lt;axel.lin@ingics.com&gt;
Tested-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>spi: dw-pci: fix bug when regs left uninitialized</title>
<updated>2014-10-05T20:41:01+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2014-08-27T13:21:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a3e4b7577cc0de761fff82ae3eff6507307c0d1c'/>
<id>a3e4b7577cc0de761fff82ae3eff6507307c0d1c</id>
<content type='text'>
commit c9d5d6fe168fd45a4dfdd0116affe708789b4702 upstream.

The commit 04f421e7 "spi: dw: use managed resources" changes drivers to use
managed functions, but seems wasn't properly tested in PCI case. The regs field
of struct dw_spi left uninitialized. Thus, kernel crashes when tries to access
to the SPI controller registers. This patch fixes the issue.

Fixes: 04f421e7 (spi: dw: use managed resources)
Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&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 c9d5d6fe168fd45a4dfdd0116affe708789b4702 upstream.

The commit 04f421e7 "spi: dw: use managed resources" changes drivers to use
managed functions, but seems wasn't properly tested in PCI case. The regs field
of struct dw_spi left uninitialized. Thus, kernel crashes when tries to access
to the SPI controller registers. This patch fixes the issue.

Fixes: 04f421e7 (spi: dw: use managed resources)
Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>spi: dw: fix kernel crash due to NULL pointer dereference</title>
<updated>2014-10-05T20:41:01+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2014-08-27T16:26:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f05ef06f31e1c6840f3cc1d69f1d3fef252601c7'/>
<id>f05ef06f31e1c6840f3cc1d69f1d3fef252601c7</id>
<content type='text'>
commit 08a707b87874eaaa0f336ab604ecd6e5e9f286dd upstream.

The obvious fix after the commit d9c73bb8a3a5 "spi: dw: add support for gpio
controlled chip select". This patch fixes the issue by using locally defined
temporary variable.

Fixes: d9c73bb8a3a5 (spi: dw: add support for gpio controlled chip select)
Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&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 08a707b87874eaaa0f336ab604ecd6e5e9f286dd upstream.

The obvious fix after the commit d9c73bb8a3a5 "spi: dw: add support for gpio
controlled chip select". This patch fixes the issue by using locally defined
temporary variable.

Fixes: d9c73bb8a3a5 (spi: dw: add support for gpio controlled chip select)
Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>spi/omap-mcspi: Fix the spi task hangs waiting dma_rx</title>
<updated>2014-10-05T20:41:01+00:00</updated>
<author>
<name>Jorge A. Ventura</name>
<email>jorge.araujo.ventura@gmail.com</email>
</author>
<published>2014-08-09T21:06:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5f53a1e9cf1f3d44ef269c60ea979d719716d1cf'/>
<id>5f53a1e9cf1f3d44ef269c60ea979d719716d1cf</id>
<content type='text'>
commit 3d0763c006f8da1b44a9f5f9a21187f5b8f674f4 upstream.

The spi hangs waiting the completion of omap2_mcspi_rx_callback.

Signed-off-by: Jorge A. Ventura &lt;jorge.araujo.ventura@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&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 3d0763c006f8da1b44a9f5f9a21187f5b8f674f4 upstream.

The spi hangs waiting the completion of omap2_mcspi_rx_callback.

Signed-off-by: Jorge A. Ventura &lt;jorge.araujo.ventura@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>spi/pxa2xx: Add ACPI ID for Intel Braswell</title>
<updated>2014-09-17T16:22:09+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2014-08-20T10:57:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5fcc3510ab989474a379cf0148d68578bfe5a147'/>
<id>5fcc3510ab989474a379cf0148d68578bfe5a147</id>
<content type='text'>
commit aca26364689e00e3b2052072424682231bdae6ae upstream.

The SPI host controller is the same as used in Baytrail, only the ACPI ID
is different so add this new ID to the list.

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&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 aca26364689e00e3b2052072424682231bdae6ae upstream.

The SPI host controller is the same as used in Baytrail, only the ACPI ID
is different so add this new ID to the list.

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>spi: omap2-mcspi: Configure hardware when slave driver changes mode</title>
<updated>2014-09-17T16:21:51+00:00</updated>
<author>
<name>Mark A. Greer</name>
<email>mgreer@animalcreek.com</email>
</author>
<published>2014-07-02T03:28:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c301ca64d49d3f8c6a379f1d8f216f6d921d45b7'/>
<id>c301ca64d49d3f8c6a379f1d8f216f6d921d45b7</id>
<content type='text'>
commit 97ca0d6cc118716840ea443e010cb3d5f2d25eaf upstream.

Commit id 2bd16e3e23d9df41592c6b257c59b6860a9cc3ea
(spi: omap2-mcspi: Do not configure the controller
on each transfer unless needed) does its job too
well so omap2_mcspi_setup_transfer() isn't called
even when an SPI slave driver changes 'spi-&gt;mode'.
The result is that the mode requested by the SPI
slave driver never takes effect.

Fix this by adding the 'mode' member to the
omap2_mcspi_cs structure which holds the mode
value that the hardware is configured for.
When the SPI slave driver changes 'spi-&gt;mode'
it will be different than the value of this new
member and the SPI master driver will know that
the hardware must be reconfigured (by calling
omap2_mcspi_setup_transfer()).

Fixes: 2bd16e3e23 (spi: omap2-mcspi: Do not configure the controller on each transfer unless needed)
Signed-off-by: Mark A. Greer &lt;mgreer@animalcreek.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&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 97ca0d6cc118716840ea443e010cb3d5f2d25eaf upstream.

Commit id 2bd16e3e23d9df41592c6b257c59b6860a9cc3ea
(spi: omap2-mcspi: Do not configure the controller
on each transfer unless needed) does its job too
well so omap2_mcspi_setup_transfer() isn't called
even when an SPI slave driver changes 'spi-&gt;mode'.
The result is that the mode requested by the SPI
slave driver never takes effect.

Fix this by adding the 'mode' member to the
omap2_mcspi_cs structure which holds the mode
value that the hardware is configured for.
When the SPI slave driver changes 'spi-&gt;mode'
it will be different than the value of this new
member and the SPI master driver will know that
the hardware must be reconfigured (by calling
omap2_mcspi_setup_transfer()).

Fixes: 2bd16e3e23 (spi: omap2-mcspi: Do not configure the controller on each transfer unless needed)
Signed-off-by: Mark A. Greer &lt;mgreer@animalcreek.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>spi: orion: fix incorrect handling of cell-index DT property</title>
<updated>2014-09-17T16:21:51+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2014-07-27T21:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c7a9922ea282bf6f7dea0d72a9ad77b385a0d1a5'/>
<id>c7a9922ea282bf6f7dea0d72a9ad77b385a0d1a5</id>
<content type='text'>
commit e06871cd2c92e5c65d7ca1d32866b4ca5dd4ac30 upstream.

In commit f814f9ac5a81 ("spi/orion: add device tree binding"), Device
Tree support was added to the spi-orion driver. However, this commit
reads the "cell-index" property, without taking into account the fact
that DT properties are big-endian encoded.

Since most of the platforms using spi-orion with DT have apparently
not used anything but cell-index = &lt;0&gt;, the problem was not
visible. But as soon as one starts using cell-index = &lt;1&gt;, the problem
becomes clearly visible, as the master-&gt;bus_num gets a wrong value
(actually it gets the value 0, which conflicts with the first bus that
has cell-index = &lt;0&gt;).

This commit fixes that by using of_property_read_u32() to read the
property value, which does the appropriate endianness conversion when
needed.

Fixes: f814f9ac5a81 ("spi/orion: add device tree binding")
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Acked-by: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&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 e06871cd2c92e5c65d7ca1d32866b4ca5dd4ac30 upstream.

In commit f814f9ac5a81 ("spi/orion: add device tree binding"), Device
Tree support was added to the spi-orion driver. However, this commit
reads the "cell-index" property, without taking into account the fact
that DT properties are big-endian encoded.

Since most of the platforms using spi-orion with DT have apparently
not used anything but cell-index = &lt;0&gt;, the problem was not
visible. But as soon as one starts using cell-index = &lt;1&gt;, the problem
becomes clearly visible, as the master-&gt;bus_num gets a wrong value
(actually it gets the value 0, which conflicts with the first bus that
has cell-index = &lt;0&gt;).

This commit fixes that by using of_property_read_u32() to read the
property value, which does the appropriate endianness conversion when
needed.

Fixes: f814f9ac5a81 ("spi/orion: add device tree binding")
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Acked-by: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branches 'spi/fix/pxa2xx', 'spi/fix/qup' and 'spi/fix/sh-sci' into spi-linus</title>
<updated>2014-06-28T13:01:23+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2014-06-28T13:01:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7216a4183947853f359b41ba1edb5db9b3091acc'/>
<id>7216a4183947853f359b41ba1edb5db9b3091acc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
