diff options
-rw-r--r-- | drivers/isdn/capi/kcapi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/isdn/capi/kcapi.c b/drivers/isdn/capi/kcapi.c index 75726ea0fbbd..5360c4fd4739 100644 --- a/drivers/isdn/capi/kcapi.c +++ b/drivers/isdn/capi/kcapi.c | |||
@@ -828,15 +828,18 @@ static int old_capi_manufacturer(unsigned int cmd, void __user *data) | |||
828 | return -ESRCH; | 828 | return -ESRCH; |
829 | if (card->load_firmware == NULL) { | 829 | if (card->load_firmware == NULL) { |
830 | printk(KERN_DEBUG "kcapi: load: no load function\n"); | 830 | printk(KERN_DEBUG "kcapi: load: no load function\n"); |
831 | capi_ctr_put(card); | ||
831 | return -ESRCH; | 832 | return -ESRCH; |
832 | } | 833 | } |
833 | 834 | ||
834 | if (ldef.t4file.len <= 0) { | 835 | if (ldef.t4file.len <= 0) { |
835 | printk(KERN_DEBUG "kcapi: load: invalid parameter: length of t4file is %d ?\n", ldef.t4file.len); | 836 | printk(KERN_DEBUG "kcapi: load: invalid parameter: length of t4file is %d ?\n", ldef.t4file.len); |
837 | capi_ctr_put(card); | ||
836 | return -EINVAL; | 838 | return -EINVAL; |
837 | } | 839 | } |
838 | if (ldef.t4file.data == NULL) { | 840 | if (ldef.t4file.data == NULL) { |
839 | printk(KERN_DEBUG "kcapi: load: invalid parameter: dataptr is 0\n"); | 841 | printk(KERN_DEBUG "kcapi: load: invalid parameter: dataptr is 0\n"); |
842 | capi_ctr_put(card); | ||
840 | return -EINVAL; | 843 | return -EINVAL; |
841 | } | 844 | } |
842 | 845 | ||
@@ -849,6 +852,7 @@ static int old_capi_manufacturer(unsigned int cmd, void __user *data) | |||
849 | 852 | ||
850 | if (card->cardstate != CARD_DETECTED) { | 853 | if (card->cardstate != CARD_DETECTED) { |
851 | printk(KERN_INFO "kcapi: load: contr=%d not in detect state\n", ldef.contr); | 854 | printk(KERN_INFO "kcapi: load: contr=%d not in detect state\n", ldef.contr); |
855 | capi_ctr_put(card); | ||
852 | return -EBUSY; | 856 | return -EBUSY; |
853 | } | 857 | } |
854 | card->cardstate = CARD_LOADING; | 858 | card->cardstate = CARD_LOADING; |