Kernel freeze while firmware helper loading

Cyril HAENEL chaenel at free.fr
Thu Dec 4 11:59:36 EST 2008


Hi all,

I have a small problem and I don't know from where it can come from.
I work on a AT91SAM9260 processor based custom board (arm9), with kernel 
2.6.27 and associated patches.
I activated the compact flash libertas driver, and the wifi board is 
correctly detected at boot up.

But when I try to load the firmware_helper the kernel freeze after some 
calls to the ioread8() function. I put some debug messages in if_cs.c to 
locate exactly the problem.

Kernel messages at boot up :

[...]
at91_cf: irqs det #64, io #81
[...]
pccard: PCMCIA card inserted into slot 0
pcmcia: registering new device pcmcia0.0
[...]
firmware: requesting libertas_cs_helper.fw
[...]

Atfer I try to load the firmware helper :

echo 1 > /sys/class/firmware/0.0/loading
cat libertas_cs_helper.fw > /sys/class/firmware/0.0/data
echo 0 > /sys/class/firmware/0.0/loading

And I have :

cyril : firmware is in memory (2132 bytes), going to load it

cyril : sending 256 byte
begin write 16
outw 00000018>0100
end write 16
begin write 16 rep
outsw 0000001a>(0x80 words)
end write 16 rep
begin write 8
outb 00000000>04
end write 8
begin write 16
outw 00000002>0004
end write 16
cyril : 1 bytes sent, going to poll status register
begin read 8
inb 00000020<04
end read 8

[1, 2, 3 times, sometime more]

cyril : sending 256 byte
begin write 16
outw 00000018>0100
end write 16
begin write 16 rep
outsw 0000001a>(0x80 words)
end write 16 rep
begin write 8
outb 00000000>04
end write 8
begin write 16
outw 00000002>0004
end write 16
cyril : 1 bytes sent, going to poll status register
begin read 8

The kernel freeze here, when it call the ioread8(card->iobase + reg) 
function, in if_cs_read8() function.

Any idea of where can come from this freeze ?
Best regards

-- 

Cyril Haenel
Registered Linux User #332632




More information about the libertas-dev mailing list