NFC: st95hf: initialize semaphore and mutex earlier
'rm_lock' and 'exchange_lock' need to be ready before the IRQ handler has a
chance to fire.
This fixes the oops below.
[ 1.040255] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[...]
[ 1.181564] Call trace:
[ 1.188591] Exception stack(0xffff00000a473c40 to 0xffff00000a473d80)
[ 1.190943] 3c40: ffff80003673b118 0000000000000000 ffff800036374380 0000000000000000
[ 1.197542] 3c60: 0000000000000000 0000000000000000 00000000044b2ac5 0000000000000001
[ 1.205354] 3c80: ffff800036374d60 ffff00000a473d70 0000000000000980 0000000000000000
[ 1.213166] 3ca0: 0000000000000001 0000000000000000 000000000000004c 0000000000000033
[ 1.217590] st95hf spi2.0: err: por seq failed for st95hf
[ 1.228788] 3cc0: 0000000000000019 0000000000000001 0000000000000007 ffff80003673b118
[ 1.234175] 3ce0: ffff800009f27000 0000000000000000 ffff80003673b1c8 ffff80003673b1b0
[ 1.241986] 3d00: ffff0000080f0000 ffff800009f716a4 ffff00000894bb40 0000000000000000
[ 1.249800] 3d20: 0000000000000000 ffff00000a473d80 ffff0000084268c0 ffff00000a473d80
[ 1.257611] 3d40: ffff0000084268c4 0000000040000005 ffff00000a473d60 ffff0000080e5688
[ 1.265424] 3d60: ffffffffffffffff ffff0000084268a4 ffff00000a473d80 ffff0000084268c4
[ 1.273239] [<ffff0000084268c4>] st95hf_irq_thread_handler+0x44/0x3a0
[ 1.281048] [<ffff0000080f00b0>] irq_thread_fn+0x28/0x68
[ 1.287468] [<ffff0000080f035c>] irq_thread+0x10c/0x1a0
[ 1.292850] [<ffff0000080c50bc>] kthread+0x12c/0x130
[ 1.297799] [<ffff000008084b88>] ret_from_fork+0x10/0x18
[ 1.303008] Code: aa1603e0 f9403675 940d010f aa1303e0 (f94066a1)
[ 1.308307] ---[ end trace d058c1b88aad74d8 ]---
Signed-off-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
1 file changed