projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a54fed9
)
mmc: sdio: don't require CISTPL_VERS_1 to contain 4 strings
author
David Vrabel
<
[email protected]
>
Wed, 7 Oct 2009 23:32:33 +0000
(16:32 -0700)
committer
Linus Torvalds
<
[email protected]
>
Thu, 8 Oct 2009 14:36:40 +0000
(07:36 -0700)
The PC Card 8.0 specification (vol. 4, section 3.2.10) says the
TPLLV1_INFO field of the CISTPL_VERS_1 tuple must contain 4 strings. Some
cards don't have all 4 so just parse as many as we can.
[
[email protected]
: coding-style fixes]
Signed-off-by: David Vrabel <
[email protected]
>
Tested-by: Jonathan Cameron <
[email protected]
>
Tested-by: Bing Zhao <
[email protected]
>
Cc: Roel Kluin <
[email protected]
>
Cc: <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
drivers/mmc/core/sdio_cis.c
patch
|
blob
|
history
diff --git
a/drivers/mmc/core/sdio_cis.c
b/drivers/mmc/core/sdio_cis.c
index e1035c8958086b92ee9e563028c573d161cd104d..f85dcd5365082ab27cc77adefcb84f1364892f80 100644
(file)
--- a/
drivers/mmc/core/sdio_cis.c
+++ b/
drivers/mmc/core/sdio_cis.c
@@
-29,6
+29,8
@@
static int cistpl_vers_1(struct mmc_card *card, struct sdio_func *func,
unsigned i, nr_strings;
char **buffer, *string;
+ /* Find all null-terminated (including zero length) strings in
+ the TPLLV1_INFO field. Trailing garbage is ignored. */
buf += 2;
size -= 2;
@@
-39,11
+41,8
@@
static int cistpl_vers_1(struct mmc_card *card, struct sdio_func *func,
if (buf[i] == 0)
nr_strings++;
}
-
- if (nr_strings < 4) {
- printk(KERN_WARNING "SDIO: ignoring broken CISTPL_VERS_1\n");
+ if (nr_strings == 0)
return 0;
- }
size = i;