--- 352acd05c46b93c417596025ebf12be3b423dc01 +++ 8c856321daabfeac119412d171572af896f783f4 @@ -577,6 +577,13 @@ mptctl_event_process(MPT_ADAPTER *ioc, E } static int +mptctl_release(struct inode *inode, struct file *filep) +{ + fasync_helper(-1, filep, 0, &async_queue); + return 0; +} + +static int mptctl_fasync(int fd, struct file *filep, int mode) { MPT_ADAPTER *ioc; @@ -2778,6 +2785,7 @@ static const struct file_operations mptc .llseek = no_llseek, .fasync = mptctl_fasync, .unlocked_ioctl = mptctl_ioctl, + .release = mptctl_release, #ifdef CONFIG_COMPAT .compat_ioctl = compat_mpctl_ioctl, #endif