mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-22 19:44:21 +01:00
eb7cd0a2fb
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
97 lines
2.5 KiB
Diff
97 lines
2.5 KiB
Diff
From 01dbc609534dc68b8890267b95c8a1efcd17437d Mon Sep 17 00:00:00 2001
|
|
From: FLN <bp@9y.com>
|
|
Date: Mon, 23 May 2011 01:02:20 +0200
|
|
Subject: [PATCH] use mutex instead of BKL if kernel version is greater than
|
|
2.6.38
|
|
|
|
the BKL got removed with kernel version 2.6.39
|
|
and therefore we have to use a proper locking mechanism
|
|
---
|
|
af903x-fe.c | 12 +++++++++---
|
|
af903x.h | 6 +++++-
|
|
usb2impl.c | 1 -
|
|
3 files changed, 14 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/af903x-fe.c b/af903x-fe.c
|
|
index 6f36a68..a1d1077 100644
|
|
--- a/af903x-fe.c
|
|
+++ b/af903x-fe.c
|
|
@@ -1,5 +1,4 @@
|
|
#include <linux/sched.h>
|
|
-#include <linux/smp_lock.h>
|
|
#include <linux/list.h>
|
|
#include <linux/module.h>
|
|
#include <linux/version.h>
|
|
@@ -11,7 +10,7 @@
|
|
#define A333_FREQ_MIN 44250000
|
|
#define A333_FREQ_MAX 867250000
|
|
|
|
-
|
|
+DEFINE_MUTEX(mutex);
|
|
|
|
static int alwayslock; // default to 0
|
|
module_param(alwayslock, int, 0644);
|
|
@@ -678,7 +677,11 @@ static int af903x_monitor_thread_func(void *data)
|
|
deb_data("- Enter %s Function -\n",__FUNCTION__);
|
|
if( !state ) return -1;
|
|
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)
|
|
lock_kernel();
|
|
+#else
|
|
+ mutex_lock(&mutex);
|
|
+#endif
|
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,61)
|
|
daemonize();
|
|
sigfillset(¤t->blocked);
|
|
@@ -689,8 +692,11 @@ static int af903x_monitor_thread_func(void *data)
|
|
#endif
|
|
siginitsetinv(¤t->blocked, sigmask(SIGKILL)|sigmask(SIGINT)|\
|
|
sigmask(SIGTERM));
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)
|
|
unlock_kernel();
|
|
-
|
|
+#else
|
|
+ mutex_unlock(&mutex);
|
|
+#endif
|
|
while(!state->thread_should_stop && !signal_pending(current)) {
|
|
|
|
DWORD dwError;
|
|
diff --git a/af903x.h b/af903x.h
|
|
index 203ff51..b2b35e3 100644
|
|
--- a/af903x.h
|
|
+++ b/af903x.h
|
|
@@ -9,7 +9,12 @@
|
|
#include <linux/slab.h>
|
|
#include <linux/module.h>
|
|
#include <linux/kref.h>
|
|
+#include <linux/version.h>
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39)
|
|
#include <linux/smp_lock.h>
|
|
+#else
|
|
+#include <linux/mutex.h>
|
|
+#endif
|
|
#include <linux/usb.h>
|
|
#include <asm/uaccess.h>
|
|
#include <dvb-usb.h>
|
|
@@ -19,7 +24,6 @@
|
|
#include "firmware.h"
|
|
#include "type.h"
|
|
#include "Common.h"
|
|
-#include <linux/version.h>
|
|
#include "debug.h"
|
|
|
|
#define ENABLE_TEST_FUNCTION 0
|
|
diff --git a/usb2impl.c b/usb2impl.c
|
|
index a3a30f9..3cf8b64 100644
|
|
--- a/usb2impl.c
|
|
+++ b/usb2impl.c
|
|
@@ -10,7 +10,6 @@
|
|
#include <linux/slab.h>
|
|
#include <linux/module.h>
|
|
#include <linux/kref.h>
|
|
-#include <linux/smp_lock.h>
|
|
#include <linux/usb.h>
|
|
#include <asm/uaccess.h>
|
|
#include <linux/device.h>
|
|
--
|
|
1.7.5.2
|