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

Reply via email to