|
@@ -754,10 +754,10 @@ dbusy_timer_handler(struct isac_hw *isac)
|
|
|
}
|
|
|
|
|
|
static int
|
|
|
-open_dchannel(struct isac_hw *isac, struct channel_req *rq)
|
|
|
+open_dchannel_caller(struct isac_hw *isac, struct channel_req *rq, void *caller)
|
|
|
{
|
|
|
pr_debug("%s: %s dev(%d) open from %p\n", isac->name, __func__,
|
|
|
- isac->dch.dev.id, __builtin_return_address(1));
|
|
|
+ isac->dch.dev.id, caller);
|
|
|
if (rq->protocol != ISDN_P_TE_S0)
|
|
|
return -EINVAL;
|
|
|
if (rq->adr.channel == 1)
|
|
@@ -771,6 +771,12 @@ open_dchannel(struct isac_hw *isac, struct channel_req *rq)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static int
|
|
|
+open_dchannel(struct isac_hw *isac, struct channel_req *rq)
|
|
|
+{
|
|
|
+ return open_dchannel_caller(isac, rq, __builtin_return_address(0));
|
|
|
+}
|
|
|
+
|
|
|
static const char *ISACVer[] =
|
|
|
{"2086/2186 V1.1", "2085 B1", "2085 B2",
|
|
|
"2085 V2.3"};
|
|
@@ -1548,7 +1554,7 @@ ipac_dctrl(struct mISDNchannel *ch, u32 cmd, void *arg)
|
|
|
case OPEN_CHANNEL:
|
|
|
rq = arg;
|
|
|
if (rq->protocol == ISDN_P_TE_S0)
|
|
|
- err = open_dchannel(isac, rq);
|
|
|
+ err = open_dchannel_caller(isac, rq, __builtin_return_address(0));
|
|
|
else
|
|
|
err = open_bchannel(ipac, rq);
|
|
|
if (err)
|