[PATCH] pcmcia: don't bale on invalid card headers

From: Alan Cox
Date: Tue Oct 14 2014 - 08:46:06 EST


There is no requirement a PCMCIA card has valid CIS data or even a CIS.
The MTD layer correctly handles this but the core PCMCIA code erroneously
refuses to accept the card and prevents the MTD driver from working in
this case.

Tested with an Apple Newton 1MB SRAM card.

Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>

diff -u --new-file --recursive --exclude-from ac/.gitignore next/drivers/pcmcia/ds.c ac/drivers/pcmcia/ds.c
--- next/drivers/pcmcia/ds.c 2013-10-28 11:40:29.721315588 +0000
+++ ac/drivers/pcmcia/ds.c 2014-10-14 13:43:35.431774459 +0100
@@ -635,7 +635,6 @@
ret = pccard_validate_cis(s, &no_chains);
if (ret || !no_chains) {
dev_dbg(&s->dev, "invalid CIS or invalid resources\n");
- return -ENODEV;
}

if (!pccard_read_tuple(s, BIND_FN_ALL, CISTPL_LONGLINK_MFC, &mfc))
--
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/