12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- - big kernel lock unavailable
- - CLASS_ATTR callbacks changed signature
- --- mISDN-1_1_9_2.orig/drivers/isdn/hardware/mISDN/debugtool.c 2009-01-22 14:36:34.000000000 +0100
- +++ mISDN-1_1_9_2/drivers/isdn/hardware/mISDN/debugtool.c 2011-07-11 14:46:28.845001528 +0200
- @@ -121,11 +121,11 @@ static void dt_run (void)
- struct socket *sock;
- struct sockaddr_in addr;
-
- - lock_kernel();
- + //lock_kernel();
- current->flags |= PF_NOFREEZE;
- daemonize(MODULE_NAME);
- allow_signal(SIGKILL);
- - unlock_kernel();
- + //unlock_kernel();
-
- /* init socket */
- ret = sock_create(AF_INET, SOCK_DGRAM, IPPROTO_UDP, &sock);
- @@ -181,12 +181,12 @@ static struct class dt_class = {
- #endif
- };
-
- -static ssize_t attr_show_enabled (struct class *class, char *buf)
- +static ssize_t attr_show_enabled (struct class *class, struct class_attribute *attr, char *buf)
- {
- return sprintf(buf, "%d\n", dt_enabled);
- }
-
- -static ssize_t attr_store_enabled (struct class *class, const char *buf, size_t count)
- +static ssize_t attr_store_enabled (struct class *class, struct class_attribute *attr, const char *buf, size_t count)
- {
- if (count > 0 && *buf == '1') {
- mISDN_dt_enable();
- @@ -241,13 +241,13 @@ void __exit dt_exit(void)
- mISDN_module_unregister(THIS_MODULE);
-
- if (thread) {
- - lock_kernel();
- + //lock_kernel();
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
- ret = kill_pid(find_pid_ns(thread->pid, &init_pid_ns), SIGKILL, 1);
- #else
- ret = kill_proc(thread->pid, SIGKILL, 1);
- #endif
- - unlock_kernel();
- + //unlock_kernel();
- if (ret < 0)
- printk(KERN_INFO MODULE_NAME ": Unknown error (%d) while trying to terminate kernel thread!\n", -ret);
- wake_up_interruptible(&skb_q_wait);
|