Re: sdio: bad CISTPL_FUNCE error
From: Nicolas Ferre
Date: Tue Jun 24 2008 - 05:35:22 EST
Nicolas Pitre :
On Mon, 23 Jun 2008, Nicolas Ferre wrote:
Here is the log :
mmc0: bad function CISTPL_FUNCE size 28 type 1
If you look in cistpl_funce_func() you'll find this code:
vsn = func->card->cccr.sdio_vsn;
min_size = (vsn == SDIO_SDIO_REV_1_00) ? 28 : 42;
if (size < min_size || buf[0] != 1)
return -EINVAL;
I suspect your card might be buggy wrt the SDIO standard.
You could try printing out the value of vsn here, and then hardcode it
to SDIO_SDIO_REV_1_00 to see if that helps.
Indeed, I hardcode the value with SDIO_SDIO_REV_1_00 and the card
seems to identify itself better :
vsn = 0x1, buf[0] = 0x1
mmc0: starting CMD52 arg 0020e400 flags 00000195
Sending command 52 as 00001074, arg = 0020E400, blocks = 0, length = 0 (MR = 00001B01)
MCI irq: status = 0000C1E5, C07F0001, 00000001
Command ready
Completed command
Status = 00000001/0000c1e5 [000010FF 00000000 00000000 00000000]
mmc0: req done (CMD52): 0: 000010ff 00000000 00000000 00000000
mmc0: read tpl 0xff
mmc0: new SDIO card at address 0001
So far, so good...
But when going to the next step, it hangs in sdio_uart probing :
mmc0: starting CMD52 arg 800220c0 flags 00000195
Sending command 52 as 00001074, arg = 800220C0, blocks = 0, length = 0 (MR = 00001B01)
MCI irq: status = 0000C1E5, C07F0001, 00000001
Command ready
Completed command
Status = 00000001/0000c1e5 [000010C0 00000000 00000000 00000000]
mmc0: req done (CMD52): 0: 000010c0 00000000 00000000 00000000
mmc0: starting CMD52 arg 80022201 flags 00000195
Sending command 52 as 00001074, arg = 80022201, blocks = 0, length = 0 (MR = 00001B01)
MCI irq: status = 0000C1E5, C07F0001, 00000001
Command ready
Completed command
Status = 00000001/0000c1e5 [00001101 00000000 00000000 00000000]
mmc0: req done (CMD52): 0: 00001101 00000000 00000000 00000000
sdio_uart: probe of mmc0:0001:1 failed with error -34
It seems that I have a out of range error in R5 now...
Regards,
--
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/