diff options
Diffstat (limited to 'drivers/isdn/hardware')
-rw-r--r-- | drivers/isdn/hardware/avm/avm_cs.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/isdn/hardware/avm/avm_cs.c b/drivers/isdn/hardware/avm/avm_cs.c index f3889bdc8e43..5f70661994d8 100644 --- a/drivers/isdn/hardware/avm/avm_cs.c +++ b/drivers/isdn/hardware/avm/avm_cs.c | |||
@@ -284,25 +284,25 @@ found_port: | |||
284 | cs_error(link->handle, RequestIO, i); | 284 | cs_error(link->handle, RequestIO, i); |
285 | break; | 285 | break; |
286 | } | 286 | } |
287 | 287 | ||
288 | /* | 288 | /* |
289 | * allocate an interrupt line | 289 | * allocate an interrupt line |
290 | */ | 290 | */ |
291 | i = pcmcia_request_irq(link->handle, &link->irq); | 291 | i = pcmcia_request_irq(link->handle, &link->irq); |
292 | if (i != CS_SUCCESS) { | 292 | if (i != CS_SUCCESS) { |
293 | cs_error(link->handle, RequestIRQ, i); | 293 | cs_error(link->handle, RequestIRQ, i); |
294 | pcmcia_release_io(link->handle, &link->io); | 294 | /* undo */ |
295 | pcmcia_disable_device(link->handle); | ||
295 | break; | 296 | break; |
296 | } | 297 | } |
297 | 298 | ||
298 | /* | 299 | /* |
299 | * configure the PCMCIA socket | 300 | * configure the PCMCIA socket |
300 | */ | 301 | */ |
301 | i = pcmcia_request_configuration(link->handle, &link->conf); | 302 | i = pcmcia_request_configuration(link->handle, &link->conf); |
302 | if (i != CS_SUCCESS) { | 303 | if (i != CS_SUCCESS) { |
303 | cs_error(link->handle, RequestConfiguration, i); | 304 | cs_error(link->handle, RequestConfiguration, i); |
304 | pcmcia_release_io(link->handle, &link->io); | 305 | pcmcia_disable_device(link->handle); |
305 | pcmcia_release_irq(link->handle, &link->irq); | ||
306 | break; | 306 | break; |
307 | } | 307 | } |
308 | 308 | ||