diff options
-rw-r--r-- | kernel/zaptel-base.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/zaptel-base.c b/kernel/zaptel-base.c index 2c6a22e..21fef71 100644 --- a/kernel/zaptel-base.c +++ b/kernel/zaptel-base.c @@ -2515,7 +2515,10 @@ static int zt_specchan_release(struct inode *node, struct file *file, int unit) close_channel(chans[unit]); if (chans[unit]->span && chans[unit]->span->close) res = chans[unit]->span->close(chans[unit]); - clear_bit(ZT_FLAGBIT_OPEN, &chans[unit]->flags); + + /* The channel might be destroyed on close: */ + if (chans[unit]) + clear_bit(ZT_FLAGBIT_OPEN, &chans[unit]->flags); } else res = -ENXIO; #ifndef LINUX26 |