diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pcmcia/rsrc_nonstatic.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c index ebfcab5df9ea..6b18092205b1 100644 --- a/drivers/pcmcia/rsrc_nonstatic.c +++ b/drivers/pcmcia/rsrc_nonstatic.c | |||
@@ -467,15 +467,19 @@ static int validate_mem(struct pcmcia_socket *s, unsigned int probe_mask) | |||
467 | 467 | ||
468 | #else /* CONFIG_PCMCIA_PROBE */ | 468 | #else /* CONFIG_PCMCIA_PROBE */ |
469 | 469 | ||
470 | static void validate_mem(struct pcmcia_socket *s, unsigned int probe_mask) | 470 | static int validate_mem(struct pcmcia_socket *s, unsigned int probe_mask) |
471 | { | 471 | { |
472 | struct resource_map *m, mm; | 472 | struct resource_map *m, mm; |
473 | struct socket_data *s_data = s->resource_data; | 473 | struct socket_data *s_data = s->resource_data; |
474 | unsigned long ok = 0; | ||
474 | 475 | ||
475 | for (m = s_data->mem_db.next; m != &s_data->mem_db; m = mm.next) { | 476 | for (m = s_data->mem_db.next; m != &s_data->mem_db; m = mm.next) { |
476 | mm = *m; | 477 | mm = *m; |
477 | do_mem_probe(mm.base, mm.num, s); | 478 | ok += do_mem_probe(mm.base, mm.num, s); |
478 | } | 479 | } |
480 | if (ok > 0) | ||
481 | return 0; | ||
482 | return -ENODEV; | ||
479 | } | 483 | } |
480 | 484 | ||
481 | #endif /* CONFIG_PCMCIA_PROBE */ | 485 | #endif /* CONFIG_PCMCIA_PROBE */ |