packages/libs/zaptel-1.4.x/patches/370-2.6.36.patch

40 lines
963 B
Diff
Raw Normal View History

---
kernel/zaptel-base.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
--- zaptel-1.4.12.1.orig/kernel/zaptel-base.c
+++ zaptel-1.4.12.1/kernel/zaptel-base.c
@@ -5181,6 +5181,20 @@ static int zt_ioctl(struct inode *inode,
return zt_chan_ioctl(inode, file, cmd, data, unit);
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
+#include <linux/smp_lock.h>
+static long zt_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long data)
+{
+ int ret;
+
+ lock_kernel();
+ ret = zt_ioctl(file->f_mapping->host, file, cmd, data);
+ unlock_kernel();
+
+ return ret;
+}
+#endif
+
int zt_register(struct zt_span *span, int prefmaster)
{
int x;
@@ -7632,7 +7646,11 @@ static struct file_operations zt_fops =
llseek: NULL,
open: zt_open,
release: zt_release,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
+ unlocked_ioctl: zt_ioctl_unlocked,
+#else
ioctl: zt_ioctl,
+#endif
read: zt_read,
write: zt_write,
poll: zt_poll,