diff options
Diffstat (limited to 'package/ifx-tapi/patches/001-portability.patch')
| -rw-r--r-- | package/ifx-tapi/patches/001-portability.patch | 43 | 
1 files changed, 43 insertions, 0 deletions
diff --git a/package/ifx-tapi/patches/001-portability.patch b/package/ifx-tapi/patches/001-portability.patch index 807a64b12..925ba9971 100644 --- a/package/ifx-tapi/patches/001-portability.patch +++ b/package/ifx-tapi/patches/001-portability.patch @@ -24,3 +24,46 @@   	$(MAKE) ARCH=@KERNEL_ARCH@ -C @KERNEL_BUILD_PATH@ O=@KERNEL_BUILD_PATH@ M=$(PWD) modules   clean-generic: +--- a/configure.in ++++ b/configure.in +@@ -128,7 +128,7 @@ dnl Set kernel build path + AC_ARG_ENABLE(kernelbuild, +         AS_HELP_STRING(--enable-kernelbuild=x,Set the target kernel build path), +         [ +-                if test -r $enableval/include/linux/autoconf.h; then ++                if test -e $enableval/include/linux/autoconf.h  -o -e $enableval/include/generated/autoconf.h; then +                         AC_SUBST([KERNEL_BUILD_PATH],[$enableval]) +                 else +                         AC_MSG_ERROR([The kernel build directory is not valid or not configured!]) +--- a/src/drv_tapi_linux.h ++++ b/src/drv_tapi_linux.h +@@ -24,6 +24,7 @@ + #include <linux/version.h> + #include <linux/interrupt.h>           /* in_interrupt() */ + #include <linux/delay.h>               /* mdelay - udelay */ ++#include <linux/workqueue.h>           /* work_struct */ + #include <asm/poll.h>                  /* POLLIN, POLLOUT */ +  + #include "ifx_types.h"                 /* ifx type definitions */ +--- a/src/drv_tapi_linux.c ++++ b/src/drv_tapi_linux.c +@@ -47,6 +47,7 @@ + #include <linux/errno.h> + #include <asm/uaccess.h>               /* copy_from_user(), ... */ + #include <asm/byteorder.h> ++#include <linux/smp_lock.h>         /* lock_kernel() */ + #include <asm/io.h> +  + #ifdef LINUX_2_6 +@@ -3600,7 +3600,11 @@ IFX_void_t TAPI_OS_ThreadKill(IFXOS_Thre +             flag and released after the down() call. */ +          lock_kernel(); +          mb(); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28) +          kill_proc(pThrCntrl->tid, SIGKILL, 1); ++#else ++         kill_pid(find_vpid(pThrCntrl->tid), SIGKILL, 1); ++#endif +          /* release the big kernel lock */ +          unlock_kernel(); +          wait_for_completion (&pThrCntrl->thrCompletion);  | 
