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

Alan Cox alan at lxorguk.ukuu.org.uk
Tue Oct 14 05:44:47 PDT 2014

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 at linux.intel.com>

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))

More information about the linux-pcmcia mailing list