Kurt Van Dijck wrote:
> On Wed, Feb 24, 2010 at 04:50:15PM +0100, Oliver Hartkopp wrote:
>> Kurt Van Dijck wrote:
>>
>>> This is my first iteration to make softing_cs driver compile under
>>> linux-2.6.33 kernel.
>>> Please not it just compiles. I had no way to verify actual operation
>>> yet.
>>>
>>> The pcmcia_request_window() is postponed a little, as some flags must be
>>> set before this call (I believe). It is a small change, but with some
>>> noise in the patch.
>>>
>>> Oliver (or anyone else with a softing pcmcia card),
>>> are you able to verify this with a net-next-2.6 kernel?
>>> Otherwise, I'll have to see if I get it working.
>> I'll check it tomorrow morning as i don't have a softing card at home.
> In the meanwhile, I managed to pull net-next-2.6 (huge download).
> I'm compiling too, but no guarantee it will run on my PC yet.
>> Especially i'm interested if i do get the same lockdep warning at card
>> insertion i've currently seen on the latest PEAK SVN snapshot and the
>> ems_pcmcia driver (see below).
>>
>> If so, there is a general problem that emerged in 2.6.32 ...
> interesting ...
Hi Kurt,
looks good and works so far with receiving on both channels. I currently
have some problems with sending on the CAN with the softing driver ...
Can you check that on your hardware?
Btw. i get the same lockdep kernel warning with the Softing driver.
So it looks like a general problem with PCMCIA & netdevices.
The other PCMCIA hardware it could get here were only PCMCIA ethernet
cards that siad they are PCI cards.
---
[ 361.597071] tg3 0000:09:00.0: eth0: Flow control is on for TX and on for RX
[ 361.597521] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 372.352063] eth0: no IPv6 routers present
[ 1650.653529] CAN device driver interface
[ 1670.630047] softing_cs: Unknown symbol mk_softing
[ 1670.630922] softing_cs: Unknown symbol rm_softing
[ 1673.663184] [softing] start
[ 1701.412143] pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into
slot 0
[ 1701.412243] pcmcia_socket pcmcia_socket0: cs: memory probe
0x0c0000-0x0fffff: excluding 0xc0000-0xcffff 0xf0000-0xfffff
[ 1701.428122] pcmcia_socket pcmcia_socket0: cs: memory probe
0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff
[ 1701.428205] pcmcia_socket pcmcia_socket0: cs: memory probe
0x80000000-0x83ffffff: excluding 0x80000000-0x83ffffff
[ 1701.428260] pcmcia_socket pcmcia_socket0: cs: memory probe
0xa0000000-0xa0ffffff: clean.
[ 1701.447401] pcmcia_socket pcmcia_socket0: cs: memory probe
0xfe400000-0xfe4fffff: excluding 0xfe400000-0xfe40ffff 0xfe4f0000-0xfe4fffff
[ 1701.465036] pcmcia 0.0: pcmcia: registering new device pcmcia0.0
[ 1701.505995] softing_cs 0.0: config index 1, Vpp 12.0, irq 19, mem
0xfe411000-0xfe411fff enable 16bit
[ 1701.508465] softing_cs 0.0: firmware: requesting softing-4.6/bcard2.bin
[ 1701.555431]
[ 1701.555435] =======================================================
[ 1701.555443] [ INFO: possible circular locking dependency detected ]
[ 1701.555450] 2.6.33-rc8-03822-g295fae5 #82
[ 1701.555455] -------------------------------------------------------
[ 1701.555461] pccardd/1780 is trying to acquire lock:
[ 1701.555467] (s_active){++++.+}, at: [<c10b934c>]
sysfs_hash_and_remove+0x3d/0x4f
[ 1701.555487]
[ 1701.555489] but task is already holding lock:
[ 1701.555494] (&card->fw.lock){+.+.+.}, at: [<fa83c47f>]
mk_softing+0x133/0x7bd [softing]
[ 1701.555511]
[ 1701.555513] which lock already depends on the new lock.
[ 1701.555516]
[ 1701.555521]
[ 1701.555522] the existing dependency chain (in reverse order) is:
[ 1701.555528]
[ 1701.555530] -> #3 (&card->fw.lock){+.+.+.}:
[ 1701.555542] [<c1045f86>] __lock_acquire+0x9fb/0xb6d
[ 1701.555554] [<c1046154>] lock_acquire+0x5c/0x73
[ 1701.555564] [<c13140cf>] __mutex_lock_common+0x26/0x2ba
[ 1701.555576] [<c1314393>] mutex_lock_interruptible_nested+0x30/0x37
[ 1701.555586] [<fa83c47f>] mk_softing+0x133/0x7bd [softing]
[ 1701.555597] [<fa12c596>] driver_probe+0x28b/0x2b1 [softing_cs]
[ 1701.555607] [<f9bd16f1>] pcmcia_device_probe+0xdf/0x14f [pcmcia]
[ 1701.555623] [<c11d2479>] driver_probe_device+0x79/0xed
[ 1701.555637] [<c11d2576>] __device_attach+0x2a/0x2e
[ 1701.555647] [<c11d1a88>] bus_for_each_drv+0x3d/0x67
[ 1701.555658] [<c11d25e0>] device_attach+0x47/0x5b
[ 1701.555666] [<c11d1924>] bus_probe_device+0x1b/0x30
[ 1701.555676] [<c11d0a08>] device_add+0x2e3/0x42b
[ 1701.555686] [<c11d0b62>] device_register+0x12/0x15
[ 1701.555695] [<f9bd2201>] pcmcia_device_add+0x1e2/0x25a [pcmcia]
[ 1701.555710] [<f9bd22e3>] pcmcia_card_add+0x6a/0x8a [pcmcia]
[ 1701.555724] [<f9bd2406>] ds_event+0x78/0x95 [pcmcia]
[ 1701.555737] [<f846433a>] send_event+0x54/0x6e [pcmcia_core]
[ 1701.555753] [<f84646d0>] socket_insert+0xe0/0xf3 [pcmcia_core]
[ 1701.555768] [<f8464e4b>] pccardd+0x173/0x210 [pcmcia_core]
[ 1701.555784] [<c10375af>] kthread+0x5f/0x64
[ 1701.555794] [<c1002cfa>] kernel_thread_helper+0x6/0x1a
[ 1701.555805]
[ 1701.555807] -> #2 (device_add_lock){+.+.+.}:
[ 1701.555817] [<c1045f86>] __lock_acquire+0x9fb/0xb6d
[ 1701.555827] [<c1046154>] lock_acquire+0x5c/0x73
[ 1701.555836] [<c13140cf>] __mutex_lock_common+0x26/0x2ba
[ 1701.555846] [<c1314401>] mutex_lock_nested+0x30/0x38
[ 1701.555855] [<f9bd2048>] pcmcia_device_add+0x29/0x25a [pcmcia]
[ 1701.555870] [<f9bd22e3>] pcmcia_card_add+0x6a/0x8a [pcmcia]
[ 1701.555884] [<f9bd2406>] ds_event+0x78/0x95 [pcmcia]
[ 1701.555897] [<f846433a>] send_event+0x54/0x6e [pcmcia_core]
[ 1701.555912] [<f84646d0>] socket_insert+0xe0/0xf3 [pcmcia_core]
[ 1701.555926] [<f8464e4b>] pccardd+0x173/0x210 [pcmcia_core]
[ 1701.555941] [<c10375af>] kthread+0x5f/0x64
[ 1701.555950] [<c1002cfa>] kernel_thread_helper+0x6/0x1a
[ 1701.555961]
[ 1701.555962] -> #1 (&socket->skt_mutex){+.+.+.}:
[ 1701.555973] [<c1045f86>] __lock_acquire+0x9fb/0xb6d
[ 1701.555983] [<c1046154>] lock_acquire+0x5c/0x73
[ 1701.555992] [<c13140cf>] __mutex_lock_common+0x26/0x2ba
[ 1701.556002] [<c1314401>] mutex_lock_nested+0x30/0x38
[ 1701.556011] [<f8466c5d>] pccard_store_resource+0x57/0xc6 [pcmcia_core]
[ 1701.556028] [<c11cfac3>] dev_attr_store+0x1b/0x23
[ 1701.556037] [<c10b99fb>] sysfs_write_file+0xc0/0xeb
[ 1701.556047] [<c1082f80>] vfs_write+0x78/0xac
[ 1701.556058] [<c1083048>] sys_write+0x3b/0x5d
[ 1701.556068] [<c10027d0>] sysenter_do_call+0x12/0x36
[ 1701.556078]
[ 1701.556079] -> #0 (s_active){++++.+}:
[ 1701.556089] [<c1045e88>] __lock_acquire+0x8fd/0xb6d
[ 1701.556099] [<c1046154>] lock_acquire+0x5c/0x73
[ 1701.556108] [<c10ba815>] sysfs_addrm_finish+0x8f/0xe2
[ 1701.556117] [<c10b934c>] sysfs_hash_and_remove+0x3d/0x4f
[ 1701.556126] [<c10bb52d>] sysfs_remove_group+0x52/0x81
[ 1701.556136] [<c11d4f08>] dpm_sysfs_remove+0x10/0x12
[ 1701.556146] [<c11d0558>] device_del+0x33/0x138
[ 1701.556156] [<c11d0668>] device_unregister+0xb/0x15
[ 1701.556165] [<c11d6cc3>] _request_firmware+0x315/0x35f
[ 1701.556176] [<c11d6d6d>] request_firmware+0xa/0xd
[ 1701.556186] [<fa83d3b7>] softing_load_fw+0x2e/0x309 [softing]
[ 1701.556198] [<fa83c58b>] mk_softing+0x23f/0x7bd [softing]
[ 1701.556209] [<fa12c596>] driver_probe+0x28b/0x2b1 [softing_cs]
[ 1701.556219] [<f9bd16f1>] pcmcia_device_probe+0xdf/0x14f [pcmcia]
[ 1701.556235] [<c11d2479>] driver_probe_device+0x79/0xed
[ 1701.556245] [<c11d2576>] __device_attach+0x2a/0x2e
[ 1701.556255] [<c11d1a88>] bus_for_each_drv+0x3d/0x67
[ 1701.556266] [<c11d25e0>] device_attach+0x47/0x5b
[ 1701.556274] [<c11d1924>] bus_probe_device+0x1b/0x30
[ 1701.556284] [<c11d0a08>] device_add+0x2e3/0x42b
[ 1701.556294] [<c11d0b62>] device_register+0x12/0x15
[ 1701.556303] [<f9bd2201>] pcmcia_device_add+0x1e2/0x25a [pcmcia]
[ 1701.556317] [<f9bd22e3>] pcmcia_card_add+0x6a/0x8a [pcmcia]
[ 1701.556331] [<f9bd2406>] ds_event+0x78/0x95 [pcmcia]
[ 1701.556344] [<f846433a>] send_event+0x54/0x6e [pcmcia_core]
[ 1701.556359] [<f84646d0>] socket_insert+0xe0/0xf3 [pcmcia_core]
[ 1701.556374] [<f8464e4b>] pccardd+0x173/0x210 [pcmcia_core]
[ 1701.556389] [<c10375af>] kthread+0x5f/0x64
[ 1701.556398] [<c1002cfa>] kernel_thread_helper+0x6/0x1a
[ 1701.556408]
[ 1701.556410] other info that might help us debug this:
[ 1701.556413]
[ 1701.556419] 3 locks held by pccardd/1780:
[ 1701.556423] #0: (&socket->skt_mutex){+.+.+.}, at: [<f8464dfc>]
pccardd+0x124/0x210 [pcmcia_core]
[ 1701.556447] #1: (device_add_lock){+.+.+.}, at: [<f9bd2048>]
pcmcia_device_add+0x29/0x25a [pcmcia]
[ 1701.556467] #2: (&card->fw.lock){+.+.+.}, at: [<fa83c47f>]
mk_softing+0x133/0x7bd [softing]
[ 1701.556484]
[ 1701.556486] stack backtrace:
[ 1701.556493] Pid: 1780, comm: pccardd Not tainted 2.6.33-rc8-03822-g295fae5
#82
[ 1701.556499] Call Trace:
[ 1701.556508] [<c131320c>] ? printk+0xf/0x11
[ 1701.556518] [<c104524f>] print_circular_bug+0x8a/0x96
[ 1701.556527] [<c1045e88>] __lock_acquire+0x8fd/0xb6d
[ 1701.556537] [<c1044ab2>] ? mark_held_locks+0x43/0x5b
[ 1701.556546] [<c1046154>] lock_acquire+0x5c/0x73
[ 1701.556555] [<c10b934c>] ? sysfs_hash_and_remove+0x3d/0x4f
[ 1701.556564] [<c10ba815>] sysfs_addrm_finish+0x8f/0xe2
[ 1701.556573] [<c10b934c>] ? sysfs_hash_and_remove+0x3d/0x4f
[ 1701.556584] [<c10b934c>] sysfs_hash_and_remove+0x3d/0x4f
[ 1701.556593] [<c10bb52d>] sysfs_remove_group+0x52/0x81
[ 1701.556603] [<c11d4f08>] dpm_sysfs_remove+0x10/0x12
[ 1701.556612] [<c11d0558>] device_del+0x33/0x138
[ 1701.556621] [<c11d0668>] device_unregister+0xb/0x15
[ 1701.556631] [<c11d6cc3>] _request_firmware+0x315/0x35f
[ 1701.556641] [<c11d6d6d>] request_firmware+0xa/0xd
[ 1701.556652] [<fa83d3b7>] softing_load_fw+0x2e/0x309 [softing]
[ 1701.556665] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.556673] [<c1043015>] ? usage_match+0x0/0x18
[ 1701.556683] [<c1043d53>] ? register_lock_class+0x17/0x28a
[ 1701.556691] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.556701] [<c1019e00>] ? do_page_fault+0x43/0x284
[ 1701.556710] [<c1035e3b>] ? __kernel_text_address+0x55/0x5b
[ 1701.556720] [<c1005576>] ? print_context_stack+0x7b/0x91
[ 1701.556730] [<fa83c3d1>] ? mk_softing+0x85/0x7bd [softing]
[ 1701.556740] [<c1019dbd>] ? do_page_fault+0x0/0x284
[ 1701.556749] [<c13159f7>] ? error_code+0x6b/0x70
[ 1701.556758] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.556768] [<c104b716>] ? __module_text_address+0xb/0x44
[ 1701.556778] [<c104b757>] ? is_module_text_address+0x8/0xf
[ 1701.556786] [<c1035e3b>] ? __kernel_text_address+0x55/0x5b
[ 1701.556796] [<c1005576>] ? print_context_stack+0x7b/0x91
[ 1701.556805] [<c100a931>] ? save_stack_address+0x0/0x28
[ 1701.556814] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.556823] [<c104b716>] ? __module_text_address+0xb/0x44
[ 1701.556833] [<c104b757>] ? is_module_text_address+0x8/0xf
[ 1701.556842] [<c1035e3b>] ? __kernel_text_address+0x55/0x5b
[ 1701.556851] [<c1005576>] ? print_context_stack+0x7b/0x91
[ 1701.556860] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.556869] [<c104b716>] ? __module_text_address+0xb/0x44
[ 1701.556879] [<c104b757>] ? is_module_text_address+0x8/0xf
[ 1701.556888] [<c1035e3b>] ? __kernel_text_address+0x55/0x5b
[ 1701.556898] [<c1005576>] ? print_context_stack+0x7b/0x91
[ 1701.556906] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.556916] [<c104b716>] ? __module_text_address+0xb/0x44
[ 1701.556926] [<c104b757>] ? is_module_text_address+0x8/0xf
[ 1701.556935] [<c1035e3b>] ? __kernel_text_address+0x55/0x5b
[ 1701.556944] [<c1005576>] ? print_context_stack+0x7b/0x91
[ 1701.556953] [<c100a931>] ? save_stack_address+0x0/0x28
[ 1701.556963] [<c10046d5>] ? dump_trace+0x76/0xa3
[ 1701.556972] [<c100aaa6>] ? save_stack_trace+0x1d/0x39
[ 1701.556982] [<c10460e9>] ? __lock_acquire+0xb5e/0xb6d
[ 1701.556991] [<fa12c2b0>] ? card_reset_via_dpram+0x1b/0x67 [softing_cs]
[ 1701.557013] [<f8465e4a>] ? set_cis_map+0x99/0xe1 [pcmcia_core]
[ 1701.557030] [<f8465f54>] ? pcmcia_write_cis_mem+0xc2/0x101 [pcmcia_core]
[ 1701.557046] [<f9bd32df>] ? pcmcia_access_configuration_register+0x68/0x7c
[pcmcia]
[ 1701.557057] [<fa12c293>] ? card_reset_via_pcmcia+0x36/0x38 [softing_cs]
[ 1701.557067] [<c102bd00>] ? _local_bh_enable_ip+0x5a/0x98
[ 1701.557079] [<fa83c58b>] mk_softing+0x23f/0x7bd [softing]
[ 1701.557090] [<fa12c596>] driver_probe+0x28b/0x2b1 [softing_cs]
[ 1701.557101] [<c10460e9>] ? __lock_acquire+0xb5e/0xb6d
[ 1701.557110] [<c1043d53>] ? register_lock_class+0x17/0x28a
[ 1701.557120] [<c10460e9>] ? __lock_acquire+0xb5e/0xb6d
[ 1701.557131] [<c101e8ee>] ? update_curr+0x106/0x10e
[ 1701.557140] [<c102010e>] ? __enqueue_entity+0x8d/0x95
[ 1701.557151] [<c131516c>] ? _raw_spin_unlock_irqrestore+0x2f/0x3c
[ 1701.557161] [<c1043d53>] ? register_lock_class+0x17/0x28a
[ 1701.557169] [<c10460e9>] ? __lock_acquire+0xb5e/0xb6d
[ 1701.557178] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.557186] [<c1043015>] ? usage_match+0x0/0x18
[ 1701.557195] [<c104529d>] ? check_usage+0x42/0x284
[ 1701.557203] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.557213] [<c104b716>] ? __module_text_address+0xb/0x44
[ 1701.557223] [<c104b757>] ? is_module_text_address+0x8/0xf
[ 1701.557231] [<c1035e3b>] ? __kernel_text_address+0x55/0x5b
[ 1701.557241] [<c1005576>] ? print_context_stack+0x7b/0x91
[ 1701.557250] [<c100a931>] ? save_stack_address+0x0/0x28
[ 1701.557259] [<c1043d53>] ? register_lock_class+0x17/0x28a
[ 1701.557268] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.557277] [<c104b716>] ? __module_text_address+0xb/0x44
[ 1701.557287] [<c104b757>] ? is_module_text_address+0x8/0xf
[ 1701.557296] [<c1035e3b>] ? __kernel_text_address+0x55/0x5b
[ 1701.557305] [<c1005576>] ? print_context_stack+0x7b/0x91
[ 1701.557314] [<c1043613>] ? __bfs+0x10e/0x193
[ 1701.557323] [<c104b716>] ? __module_text_address+0xb/0x44
[ 1701.557333] [<c104b757>] ? is_module_text_address+0x8/0xf
[ 1701.557342] [<c10460e9>] ? __lock_acquire+0xb5e/0xb6d
[ 1701.557352] [<c10448ab>] ? mark_lock+0x1e/0x1e2
[ 1701.557360] [<c10448ab>] ? mark_lock+0x1e/0x1e2
[ 1701.557369] [<c1044ab2>] ? mark_held_locks+0x43/0x5b
[ 1701.557378] [<c107ef66>] ? __kmalloc+0xc8/0xe8
[ 1701.557387] [<c10448ab>] ? mark_lock+0x1e/0x1e2
[ 1701.557396] [<c1044ab2>] ? mark_held_locks+0x43/0x5b
[ 1701.557404] [<c107ea7e>] ? kfree+0xbd/0xc9
[ 1701.557413] [<c1044d1a>] ? trace_hardirqs_on_caller+0x108/0x130
[ 1701.557422] [<c1044d4d>] ? trace_hardirqs_on+0xb/0xd
[ 1701.557442] [<f8466751>] ? pccard_read_tuple+0xa3/0xad [pcmcia_core]
[ 1701.557459] [<f8466751>] ? pccard_read_tuple+0xa3/0xad [pcmcia_core]
[ 1701.557474] [<f9bd16f1>] pcmcia_device_probe+0xdf/0x14f [pcmcia]
[ 1701.557484] [<c11d2301>] ? driver_detach+0x6d/0x85
[ 1701.557495] [<c11d2479>] driver_probe_device+0x79/0xed
[ 1701.557505] [<c11d2576>] __device_attach+0x2a/0x2e
[ 1701.557515] [<c11d1a88>] bus_for_each_drv+0x3d/0x67
[ 1701.557524] [<c11d25e0>] device_attach+0x47/0x5b
[ 1701.557534] [<c11d254c>] ? __device_attach+0x0/0x2e
[ 1701.557543] [<c11d1924>] bus_probe_device+0x1b/0x30
[ 1701.557553] [<c11d0a08>] device_add+0x2e3/0x42b
[ 1701.557563] [<c1132271>] ? __raw_spin_lock_init+0x28/0x4b
[ 1701.557574] [<c11d047f>] ? device_initialize+0xac/0xb4
[ 1701.557583] [<c11d0b62>] device_register+0x12/0x15
[ 1701.557598] [<f9bd2201>] pcmcia_device_add+0x1e2/0x25a [pcmcia]
[ 1701.557613] [<f9bd22e3>] pcmcia_card_add+0x6a/0x8a [pcmcia]
[ 1701.557624] [<c11207c4>] ? kobject_get+0x12/0x17
[ 1701.557638] [<f9bd2406>] ds_event+0x78/0x95 [pcmcia]
[ 1701.557653] [<f846433a>] send_event+0x54/0x6e [pcmcia_core]
[ 1701.557669] [<f84646d0>] socket_insert+0xe0/0xf3 [pcmcia_core]
[ 1701.557684] [<f8464e4b>] pccardd+0x173/0x210 [pcmcia_core]
[ 1701.557700] [<f8464cd8>] ? pccardd+0x0/0x210 [pcmcia_core]
[ 1701.557709] [<c10375af>] kthread+0x5f/0x64
[ 1701.557719] [<c1037550>] ? kthread+0x0/0x64
[ 1701.557727] [<c1002cfa>] kernel_thread_helper+0x6/0x1a
[ 1701.558043] softing_cs 0.0: firmware: requesting softing-4.6/ldcard2.bin
[ 1701.568914] softing_cs 0.0: firmware: requesting softing-4.6/cancrd2.bin
[ 1701.840814] softing_cs 0.0: firmware softing-4.6/cancrd2.bin up
[ 1701.840969] softing_cs 0.0: sync-a returned 1248
[ 1701.840979] softing_cs 0.0: sync-a returned 1248
[ 1701.841991] softing_cs 0.0: card booted, type CANcard-2, serial 3800752, fw
406, hw 4097, lic 1, chip (1000,1000)
[ 1701.843710] softing_cs 0.0: card initialised
_______________________________________________
Socketcan-core mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-core