On Fri, 20 Jun 2008, Nicolas Ferre wrote:
Hi Pierre,
While trying to setup a GPS SDIO card, I experience the following error:
"mmc0: bad CISTPL_FUNCE size 28 type 1"
Could you apply this patch and see what it shows:
diff --git a/drivers/mmc/core/sdio_cis.c b/drivers/mmc/core/sdio_cis.c
index d5e51b1..60ec4d3 100644
--- a/drivers/mmc/core/sdio_cis.c
+++ b/drivers/mmc/core/sdio_cis.c
@@ -149,8 +149,9 @@ static int cistpl_funce(struct mmc_card *card, struct sdio_func *func,
ret = cistpl_funce_common(card, buf, size);
if (ret) {
- printk(KERN_ERR "%s: bad CISTPL_FUNCE size %u "
- "type %u\n", mmc_hostname(card->host), size, buf[0]);
+ printk(KERN_ERR "%s: bad %s CISTPL_FUNCE size %u type %u\n",
+ mmc_hostname(card->host), func ? "function" : "common",
+ size, buf[0]);
return ret;
}
I use a combo card but without mirco sd card inserted.
http://www.spectec.com.tw/sdg810.htm
Tracing in sdio_cis.c file, I print the tpl_code (line 216).
I have 3 successive codes : 0xff, 0x21 & 0x22.
Again that would be good to know if/when func is NULL when those are parsed.