aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hardware
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/hardware')
-rw-r--r--drivers/isdn/hardware/avm/avm_cs.c10
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