|
@@ -707,6 +707,11 @@ static void disconnect(struct at_state_t **at_state_p)
|
|
|
if (bcs) {
|
|
|
/* B channel assigned: invoke hardware specific handler */
|
|
|
cs->ops->close_bchannel(bcs);
|
|
|
+ /* notify LL */
|
|
|
+ if (bcs->chstate & (CHS_D_UP | CHS_NOTIFY_LL)) {
|
|
|
+ bcs->chstate &= ~(CHS_D_UP | CHS_NOTIFY_LL);
|
|
|
+ gigaset_i4l_channel_cmd(bcs, ISDN_STAT_DHUP);
|
|
|
+ }
|
|
|
} else {
|
|
|
/* no B channel assigned: just deallocate */
|
|
|
spin_lock_irqsave(&cs->lock, flags);
|