Hi
I am working with a custom MPC5200B based board and the CAN is mostly
working on it, using the revision 958 on the berlios svn. I know it's
quite old, this is why this email have two part. The kernel is version
2.6.29.2 with some patches for our internal needs.

First: 
I have been trying to figure out why sometime I'm getting a kernel Oops
when the command "ifconfig canX down" is used. The Oops is pretty random
so there is no easy way (that I found) to reproduce it, therefor it is
hard to debug. I've attached the Oops to this email. (I have plenty of
similar)

My question regarding this first issue is: Is it known that this version
(958) of the driver can cause a kernel Oops ?
Regarding this email it seems that I'm not alone.
https://lists.berlios.de/pipermail/socketcan-users/2009-February/000646.html

I though that updating the driver would be a good thing, so I tried and
this is why I have a second part to this email.

Second:
By reading the various source of information on the internet I have
discovered that SocketCAN source code seems now in two different places.
The berlios SVN and this git
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6

So I'm a bit confused about which I should use, but I tried with the
berlios svn r1095 but it seems that the way I was compiling before
doesn't work anymore ... it seems to compile but the mscan driver is not
compiled. I get some .ko but no mscan-mpc52xx.ko mscan.ko or
mscan_5xxx.ko anywhere... previously I was getting mscan-mpc52xx.ko

I probably do something wrong, but to verify that I would need the
procedure to compiled the drivers correctly or even better to include
them in the kernel as a simple patch.

And also before someone suggest it ... I can't upgrade the kernel to a
new version on this unit without having really good reason.

So, what is the way to get a newer version of the SocketCAN driver to
work on a linux kernel 2.6.29.2 ?


-- 
Sylvain Lamontagne <[email protected]>
Novariant
syslogd exiting
Executing /etc/rc.shutdown/shutdown.sh ...
Executing /etc/rc.shutdown/a01_unload_CAN_device.sh ...
Bring down can0 interface...[168708.407470] Oops: Kernel access of bad area, 
sig: 11 [#1]
[168708.412900] PREEMPT mpc5200-simple-platform
[168708.417127] Modules linked in: hours_run can_raw can mscan_mpc52xx can_dev 
novariant_gnss
[168708.425350] NIP: c001c4ac LR: c001fd14 CTR: c027a490
[168708.430350] REGS: c537fc10 TRAP: 0300   Not tainted  (2.6.29.2)
[168708.436283] MSR: 00001032 <ME,IR,DR>  CR: 84000488  XER: 20000000
[168708.442448] DAR: 90830008, DSISR: 20000000
[168708.446582] TASK = c266cf40[25469] 'ifconfig' THREAD: c537e000
[168708.452260] GPR00: c001fd14 c537fcc0 c266cf40 c3d4179c 00000001 00000001 
00000001 00000000
[168708.460669] GPR08: 00000000 90830008 c538ca00 c537e000 47c5c2c7 100c39d8 
1009fc6d 1009fc81
[168708.469078] GPR16: 10094540 100944d8 10094428 00000000 bf9677b8 00000000 
00000003 00008914
[168708.477486] GPR24: 00000000 00000001 00000001 00000000 c3d4179c 9082fffc 
00000001 c5d96a00
[168708.486106] NIP [c001c4ac] __wake_up_common+0x44/0xc8
[168708.491198] LR [c001fd14] __wake_up_sync+0x44/0x8c
[168708.496019] Call Trace:
[168708.498531] [c537fcc0] [c001c4c4] __wake_up_common+0x5c/0xc8 (unreliable)
[168708.505353] [c537fcf0] [c001fd14] __wake_up_sync+0x44/0x8c
[168708.510875] [c537fd10] [c027a4f0] sock_def_write_space+0x60/0xd4
[168708.516914] [c537fd20] [c027b29c] sock_wfree+0x48/0x90
[168708.522094] [c537fd30] [c027cffc] skb_release_head_state+0x4c/0x60
[168708.528307] [c537fd40] [c027edf8] __kfree_skb+0x18/0xc4
[168708.533570] [c537fd50] [c02988b0] pfifo_fast_reset+0x6c/0xa8
[168708.539260] [c537fd70] [c0298a00] qdisc_reset+0x2c/0x50
[168708.544521] [c537fd80] [c0298dcc] dev_deactivate_queue+0x70/0xa0
[168708.550555] [c537fda0] [c0298e44] dev_deactivate+0x48/0x238
[168708.556162] [c537fdd0] [c028959c] dev_close+0x88/0xe0
[168708.561269] [c537fde0] [c02890f8] dev_change_flags+0xe0/0x1cc
[168708.567052] [c537fe00] [c02cf0ac] devinet_ioctl+0x2c0/0x778
[168708.572663] [c537fe60] [c02d07ec] inet_ioctl+0xd8/0x114
[168708.577939] [c537fe70] [c0276ca8] sock_ioctl+0x25c/0x2a8
[168708.583305] [c537fe90] [c0092fb4] vfs_ioctl+0x44/0xbc
[168708.588401] [c537feb0] [c009367c] do_vfs_ioctl+0x650/0x700
[168708.593920] [c537ff10] [c009377c] sys_ioctl+0x50/0x90
[168708.599032] [c537ff40] [c0011c40] ret_from_syscall+0x0/0x38
[168708.604646] --- Exception: c01 at 0xff5e790
[168708.604655]     LR = 0xff5e6f0
[168708.611966] Instruction dump:
[168708.614991] 7cda3378 9361001c 7cfb3b78 93810020 7c7c1b78 93a10024 93c10028 
7cbe2b78
[168708.622789] 90010034 93e1002c 81230000 3ba9fff4 <813d000c> 48000034 
801d0008 83bd0000
[168708.630769] Kernel panic - not syncing: Fatal exception in interrupt
[168708.637142] Rebooting in 180 seconds.. 
_______________________________________________
Socketcan-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-users

Reply via email to