On 04/11/2013 09:39 AM, Mylene Josserand wrote: > Hi Marc, > > Le 10/04/2013 17:30, Marc Kleine-Budde a écrit : >> On 04/10/2013 04:11 PM, Mylene Josserand wrote: >> >>>> If it's the first spi transfer in the driver that hangs and if the >>>> mcp251x works if loaded as a module, there is probably some >>>> initialisation missing. Look for stuff that gets initialized after the >>>> mcp251x would have been loaded if compiled into the kernel. Make a >>>> "diff" between the bootload with mcp251x compiled into the kernel and >>>> without. Other usual suspects are: clocks, pinmux (spi _and_ the mcp251x >>>> dedicated IRQ line), gpio setup. >>> >>> Thanks for the advice and the ideas to look at ! I have already compared >>> the bootload and I have seen no differences (maybe I will check that >>> another time). I will search about clocks, pinmux and gpio setup and I >>> will update you if I found how to fix that. >> >> Save the bootlog of a system start with the driver compiled as a module >> into file bootlog-module.txt. Make a second bootlog with the driver >> compiled into the kernel, save as bootlog-builtin.txt. Then: >> >> diff -u bootlog-module.txt bootlog-builtin.txt >> >> Look for the stuff that would have been initialized _after_ the system >> hangs. The diff should show you this. >> >> Marc >> > > Thank you for the help. > I have done it and instead of having the mcp configuration, in the > bootlog-module, there is the libphy fec_net_mii_bus driver probed and > other boot configurations. > > " > spi_imx imx27-cspi.0: master is unqueued, this is deprecated > spi_imx imx27-cspi.0: probed > CAN device driver interface > -mcp251x_can_init > -mcp251x_clean > -mcp251x_can_probe > -mcp251x_hw_probe > -mcp251x_hw_reset > -mcp251x_hw_reset : spi_write : start > +libphy: fec_enet_mii_bus: probed > +PPP generic driver version 2.4.2 > +PPP BSD Compression module registered > +PPP Deflate Compression module registered > +PPP MPPE Compression module registered > +ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver > +ehci-mxc: Freescale On-Chip EHCI Host driver > +mxc-ehci mxc-ehci.2: initializing i.MX USB Controller > [...] > " > > If the MCP 251x is compiled as module, will it use the init configuration ? > > I think I have a problem with the irq because I have tried to use it as > module and when I do "ifconfig can0 up", I get : > " > root@navocap:~# ifconfig can0 up > genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 201 > mcp251x spi0.0: failed to acquire irq 201 It's a bug in the driver....which was introduced in v3.5[1]. I'm looking for a fix. Marc [1] 1c6c695 genirq: Reject bogus threaded irq requests -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |