|
@@ -1449,26 +1449,16 @@ int pccard_validate_cis(struct pcmcia_socket *s, unsigned int *info)
|
|
|
done:
|
|
|
/* invalidate CIS cache on failure */
|
|
|
if (!dev_ok || !ident_ok || !count) {
|
|
|
-#if defined(CONFIG_MTD_PCMCIA_ANONYMOUS)
|
|
|
- /* Set up as an anonymous card. If we don't have anonymous
|
|
|
- memory support then just error the card as there is no
|
|
|
- point trying to second guess.
|
|
|
-
|
|
|
- Note: some cards have just a device entry, it may be
|
|
|
- worth extending support to cover these in future */
|
|
|
- if (!dev_ok || !ident_ok) {
|
|
|
- dev_info(&s->dev, "no CIS, assuming an anonymous memory card.\n");
|
|
|
- pcmcia_replace_cis(s, "\xFF", 1);
|
|
|
- count = 1;
|
|
|
- ret = 0;
|
|
|
- } else
|
|
|
-#endif
|
|
|
- {
|
|
|
- mutex_lock(&s->ops_mutex);
|
|
|
- destroy_cis_cache(s);
|
|
|
- mutex_unlock(&s->ops_mutex);
|
|
|
+ mutex_lock(&s->ops_mutex);
|
|
|
+ destroy_cis_cache(s);
|
|
|
+ mutex_unlock(&s->ops_mutex);
|
|
|
+ /* We differentiate between dev_ok, ident_ok and count
|
|
|
+ failures to allow for an override for anonymous cards
|
|
|
+ in ds.c */
|
|
|
+ if (!dev_ok || !ident_ok)
|
|
|
ret = -EIO;
|
|
|
- }
|
|
|
+ else
|
|
|
+ ret = -EFAULT;
|
|
|
}
|
|
|
|
|
|
if (info)
|