diff options
Diffstat (limited to 'channels/chan_dahdi.c')
-rw-r--r-- | channels/chan_dahdi.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 813bcadb3..b0997be45 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -9010,8 +9010,11 @@ static struct ast_frame *dahdi_read(struct ast_channel *ast) return &p->subs[idx].f; } - /* If we have a fake_event, fake an exception to handle it */ - if (p->fake_event) { + /* + * If we have a fake_event, fake an exception to handle it only + * if this channel owns the private. + */ + if (p->fake_event && p->owner == ast) { if (analog_lib_handles(p->sig, p->radio, p->oprmode)) { struct analog_pvt *analog_p = p->sig_pvt; |