diff options
Diffstat (limited to 'drivers/net/wireless/atmel_cs.c')
-rw-r--r-- | drivers/net/wireless/atmel_cs.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/net/wireless/atmel_cs.c b/drivers/net/wireless/atmel_cs.c index 843dd1a036d2..962272c1342a 100644 --- a/drivers/net/wireless/atmel_cs.c +++ b/drivers/net/wireless/atmel_cs.c | |||
@@ -91,7 +91,7 @@ MODULE_SUPPORTED_DEVICE("Atmel at76c50x PCMCIA cards"); | |||
91 | event handler. | 91 | event handler. |
92 | */ | 92 | */ |
93 | 93 | ||
94 | static void atmel_config(struct pcmcia_device *link); | 94 | static int atmel_config(struct pcmcia_device *link); |
95 | static void atmel_release(struct pcmcia_device *link); | 95 | static void atmel_release(struct pcmcia_device *link); |
96 | 96 | ||
97 | /* | 97 | /* |
@@ -152,7 +152,7 @@ typedef struct local_info_t { | |||
152 | 152 | ||
153 | ======================================================================*/ | 153 | ======================================================================*/ |
154 | 154 | ||
155 | static int atmel_attach(struct pcmcia_device *p_dev) | 155 | static int atmel_probe(struct pcmcia_device *p_dev) |
156 | { | 156 | { |
157 | local_info_t *local; | 157 | local_info_t *local; |
158 | 158 | ||
@@ -182,9 +182,7 @@ static int atmel_attach(struct pcmcia_device *p_dev) | |||
182 | p_dev->priv = local; | 182 | p_dev->priv = local; |
183 | 183 | ||
184 | p_dev->state |= DEV_PRESENT | DEV_CONFIG_PENDING; | 184 | p_dev->state |= DEV_PRESENT | DEV_CONFIG_PENDING; |
185 | atmel_config(p_dev); | 185 | return atmel_config(p_dev); |
186 | |||
187 | return 0; | ||
188 | } /* atmel_attach */ | 186 | } /* atmel_attach */ |
189 | 187 | ||
190 | /*====================================================================== | 188 | /*====================================================================== |
@@ -230,7 +228,7 @@ static int card_present(void *arg) | |||
230 | return 0; | 228 | return 0; |
231 | } | 229 | } |
232 | 230 | ||
233 | static void atmel_config(struct pcmcia_device *link) | 231 | static int atmel_config(struct pcmcia_device *link) |
234 | { | 232 | { |
235 | tuple_t tuple; | 233 | tuple_t tuple; |
236 | cisparse_t parse; | 234 | cisparse_t parse; |
@@ -377,11 +375,12 @@ static void atmel_config(struct pcmcia_device *link) | |||
377 | link->dev_node = &dev->node; | 375 | link->dev_node = &dev->node; |
378 | 376 | ||
379 | link->state &= ~DEV_CONFIG_PENDING; | 377 | link->state &= ~DEV_CONFIG_PENDING; |
380 | return; | 378 | return 0; |
381 | 379 | ||
382 | cs_failed: | 380 | cs_failed: |
383 | cs_error(link, last_fn, last_ret); | 381 | cs_error(link, last_fn, last_ret); |
384 | atmel_release(link); | 382 | atmel_release(link); |
383 | return -ENODEV; | ||
385 | } | 384 | } |
386 | 385 | ||
387 | /*====================================================================== | 386 | /*====================================================================== |
@@ -476,7 +475,7 @@ static struct pcmcia_driver atmel_driver = { | |||
476 | .drv = { | 475 | .drv = { |
477 | .name = "atmel_cs", | 476 | .name = "atmel_cs", |
478 | }, | 477 | }, |
479 | .probe = atmel_attach, | 478 | .probe = atmel_probe, |
480 | .remove = atmel_detach, | 479 | .remove = atmel_detach, |
481 | .id_table = atmel_ids, | 480 | .id_table = atmel_ids, |
482 | .suspend = atmel_suspend, | 481 | .suspend = atmel_suspend, |