Alexandre Vézina wrote: > Hi, > > Frist, I attached my code if it can help. > > A couple of month ago we started developing a driver for the ts-can1 board. > (http://www.embeddedarm.com/products/board-detail.php?product=TS-CAN1). > > I just restarted the development of the driver and I have a problem that I > hope you guys will understand. > > Everything started when I got a segfault calling *"rmmod tscan1*" > > I started debugging and found that the segfault occurred when calling > *"release_mem_region(res->start, > (res->end - res->start + 1));" *(line 352) > > Debugging further showed me that *res == NULL*. I looked at the resources. > There were still 2 resources, but the flags were not as I set them > (IORESOURCE_IO or IORESOURCE_IRQ). Their values were like 0 and -97575452... > This explains why *platform_get_resource()* was returning *NULL*. > > I started debugging were this struct was getting messed up and I figured it > was right after calling *register_sja1000dev()* (line 317); I traced > until *register_netdev(). > *I stopped there because I didn't want to recompile my kernel :D. > > I also got this when probing the module: > > ... > *WARNING: at net/core/rtnetlink.c:1232 rtmsg_ifinfo() > [<c0024134>] (dump_stack+0x0/0x14) from [<c018e480>] > (rtmsg_ifinfo+0xe4/0xf4) > [<c018e39c>] (rtmsg_ifinfo+0x0/0xf4) from [<c018e75c>] > (rtnetlink_event+0x84/0xb0) > [<c018e6d8>] (rtnetlink_event+0x0/0xb0) from [<c0058d84>] > (notifier_call_chain+0x48/0x88) > [<c0058d3c>] (notifier_call_chain+0x0/0x88) from [<c005908c>] > (__raw_notifier_call_chain+0x1c/0x20) > r8:bf0582e8 r7:c5087800 r6:c02bb860 r5:c5087800 r4:00000000 > [<c0059070>] (__raw_notifier_call_chain+0x0/0x20) from [<c00590b0>] > (raw_notifier_call_chain+0x20/0x24) > [<c0059090>] (raw_notifier_call_chain+0x0/0x24) from [<c018076c>] > (call_netdevice_notifiers+0x20/0x28) > [<c018074c>] (call_netdevice_notifiers+0x0/0x28) from [<c01846e0>] > (register_netdevice+0x1d8/0x350) > [<c0184508>] (register_netdevice+0x0/0x350) from [<c01848a4>] > (register_netdev+0x4c/0x5c) > r6:c5079f30 r5:c5087800 r4:00000000 > [<c0184858>] (register_netdev+0x0/0x5c) from [<bf04df18>] > (register_candev+0x18/0x20 [can_dev]) > r5:c5087800 r4:c5087b60 > [<bf04df00>] (register_candev+0x0/0x20 [can_dev]) from [<bf051ea8>] > (register_sja1000dev+0x140/0x17c [sja1000]) > [<bf051d68>] (register_sja1000dev+0x0/0x17c [sja1000]) from [<bf05a118>] > (tscan1_probe+0x118/0x224 [tscan1]) > r5:bf0582f0 r4:c5087b60 > [<bf05a000>] (tscan1_probe+0x0/0x224 [tscan1]) from [<c0128e84>] > (platform_drv_probe+0x20/0x24) > [<c0128e64>] (platform_drv_probe+0x0/0x24) from [<c0126e70>] > (driver_probe_device+0xe8/0x1a4) > [<c0126d88>] (driver_probe_device+0x0/0x1a4) from [<c0126f3c>] > (__device_attach+0x10/0x14) > r8:00000021 r7:c0126f2c r6:bf0582f0 r5:c5079e5c r4:00000000 > [<c0126f2c>] (__device_attach+0x0/0x14) from [<c012601c>] > (bus_for_each_drv+0x60/0x8c) > [<c0125fbc>] (bus_for_each_drv+0x0/0x8c) from [<c0126fe0>] > (device_attach+0xa0/0xac) > r7:bf058378 r6:00000000 r5:bf058394 r4:bf0582f0 > [<c0126f40>] (device_attach+0x0/0xac) from [<c01263a8>] > (bus_attach_device+0x7c/0x9c) > r5:c029a178 r4:bf0582f0 > [<c012632c>] (bus_attach_device+0x0/0x9c) from [<c01244e4>] > (device_add+0x1e4/0x634) > r6:00000000 r5:00000000 r4:bf0582f0 > [<c0124300>] (device_add+0x0/0x634) from [<c0128c38>] > (platform_device_add+0x100/0x188) > [<c0128b38>] (platform_device_add+0x0/0x188) from [<c0128ce0>] > (platform_device_register+0x20/0x24) > r7:bf057370 r6:bf0582e0 r5:bf0582e8 r4:c60101b3 > [<c0128cc0>] (platform_device_register+0x0/0x24) from [<bf05a360>] > (tscan1_init+0x13c/0x214 [tscan1]) > r5:c5079f30 > [<bf05a224>] (tscan1_init+0x0/0x214 [tscan1]) from [<c0062538>] > (sys_init_module+0xfc/0x144) > r8:c0020124 r7:00000080 r6:2aac9000 r5:00000000 r4:bf058180 > [<c006243c>] (sys_init_module+0x0/0x144) from [<c001ff80>] > (ret_fast_syscall+0x0/0x2c) > r6:00000000 r5:0000d0bc r4:0000a8c8* > *tscan1 tscan1: device registered (reg_base=c6012100, irq=33)* > > I can tell you that I also use *rt73usb* driver for my ASUS wifi dongle. > Don't know if it can conflict or whatever... > > I don't know where to debug now... Hope you guys can help me.
Does this problem show up with CONFIG_CAN_DEV_SYSFS=y? Wolfgang. _______________________________________________ Socketcan-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-users
