aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn
diff options
context:
space:
mode:
authorTilman Schmidt <tilman@imap.cc>2010-05-22 21:02:08 -0400
committerDavid S. Miller <davem@davemloft.net>2010-05-24 02:57:44 -0400
commit85a83560afa69862639fb2d6f670b4440a003335 (patch)
treee05b3b907a204fc99f1a5115ed7ab03ce67a9d4d /drivers/isdn
parenta5e93151e4390e4d27bee27ddb73f78f58260594 (diff)
isdn/capi: make reset_ctr op truly optional
The CAPI controller operation reset_ctr is marked as optional, and not all drivers do implement it. Add a check to the kernel CAPI whether it exists before trying to call it. Signed-off-by: Tilman Schmidt <tilman@imap.cc> Acked-by: Karsten Keil <isdn@linux-pingi.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/isdn')
-rw-r--r--drivers/isdn/capi/kcapi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/isdn/capi/kcapi.c b/drivers/isdn/capi/kcapi.c
index bd00dceacaf0..bde3c88b8b27 100644
--- a/drivers/isdn/capi/kcapi.c
+++ b/drivers/isdn/capi/kcapi.c
@@ -1147,6 +1147,12 @@ load_unlock_out:
1147 if (ctr->state == CAPI_CTR_DETECTED) 1147 if (ctr->state == CAPI_CTR_DETECTED)
1148 goto reset_unlock_out; 1148 goto reset_unlock_out;
1149 1149
1150 if (ctr->reset_ctr == NULL) {
1151 printk(KERN_DEBUG "kcapi: reset: no reset function\n");
1152 retval = -ESRCH;
1153 goto reset_unlock_out;
1154 }
1155
1150 ctr->reset_ctr(ctr); 1156 ctr->reset_ctr(ctr);
1151 1157
1152 retval = wait_on_ctr_state(ctr, CAPI_CTR_DETECTED); 1158 retval = wait_on_ctr_state(ctr, CAPI_CTR_DETECTED);