Created
June 10, 2013 16:32
-
-
Save cmicali/5750178 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -ru original/core/rtw_mp.c new/core/rtw_mp.c | |
--- original/core/rtw_mp.c 2012-07-30 13:51:05.000000000 +0100 | |
+++ new/core/rtw_mp.c 2013-04-27 01:03:54.803246633 +0100 | |
@@ -1140,8 +1140,7 @@ | |
_rtw_memset(ptr, payload, pkt_end - ptr); | |
//3 6. start thread | |
- pmp_priv->tx.PktTxThread = kernel_thread(mp_xmit_packet_thread, pmp_priv, CLONE_FS|CLONE_FILES); | |
- if(pmp_priv->tx.PktTxThread < 0) | |
+ if(!start_kthread(&pmp_priv->tx.PktTxThread, mp_xmit_packet_thread, pmp_priv, "8192cu-mp-xmit")) | |
DBG_871X("Create PktTx Thread Fail !!!!!\n"); | |
} | |
Only in original/core: .rtw_wlan_util.o.d | |
diff -ru original/include/osdep_service.h new/include/osdep_service.h | |
--- original/include/osdep_service.h 2012-07-30 13:51:05.000000000 +0100 | |
+++ new/include/osdep_service.h 2013-04-27 01:03:54.811246677 +0100 | |
@@ -100,6 +100,9 @@ | |
#include <linux/pci.h> | |
#endif | |
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0)) | |
+ #include <linux/kthread.h> | |
+#endif | |
#ifdef CONFIG_USB_HCI | |
typedef struct urb * PURB; | |
@@ -133,8 +136,12 @@ | |
//typedef u32 _irqL; | |
typedef unsigned long _irqL; | |
typedef struct net_device * _nic_hdl; | |
- | |
+ | |
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) | |
typedef pid_t _thread_hdl_; | |
+#else | |
+ typedef struct task_struct * _thread_hdl_; | |
+#endif | |
typedef int thread_return; | |
typedef void* thread_context; | |
@@ -571,8 +578,8 @@ | |
{ | |
#ifdef PLATFORM_LINUX | |
//struct net_device *pnetdev = (struct net_device *)context; | |
- //daemonize("%s", pnetdev->name); | |
- daemonize("%s", "RTKTHREAD"); | |
+ ////daemonize("%s", pnetdev->name); | |
+ //daemonize("%s", "RTKTHREAD"); | |
allow_signal(SIGTERM); | |
#endif | |
} | |
@@ -827,4 +834,8 @@ | |
#endif | |
+#ifdef PLATFORM_LINUX | |
+extern int start_kthread(_thread_hdl_ *t_hdl, int (*threadfn)(void *data), | |
+ void *data, const char *name); | |
+#endif | |
diff -ru original/os_dep/linux/os_intfs.c new/os_dep/linux/os_intfs.c | |
--- original/os_dep/linux/os_intfs.c 2012-11-05 07:42:45.000000000 +0000 | |
+++ new/os_dep/linux/os_intfs.c 2013-04-27 01:03:54.811246677 +0100 | |
@@ -797,27 +797,22 @@ | |
RT_TRACE(_module_os_intfs_c_,_drv_info_,("+rtw_start_drv_threads\n")); | |
#ifdef CONFIG_SDIO_HCI | |
- padapter->xmitThread = kernel_thread(rtw_xmit_thread, padapter, CLONE_FS|CLONE_FILES); | |
- if(padapter->xmitThread < 0) | |
+ if(!start_kthread(&padapter->xmitThread, rtw_xmit_thread, padapter, "8192cu-xmit")) | |
_status = _FAIL; | |
#endif | |
#ifdef CONFIG_RECV_THREAD_MODE | |
- padapter->recvThread = kernel_thread(recv_thread, padapter, CLONE_FS|CLONE_FILES); | |
- if(padapter->recvThread < 0) | |
+ if(!start_kthread(&padapter->recvThread, recv_thread, padapter, "8192cu-recv")) | |
_status = _FAIL; | |
#endif | |
- padapter->cmdThread = kernel_thread(rtw_cmd_thread, padapter, CLONE_FS|CLONE_FILES); | |
- if(padapter->cmdThread < 0) | |
+ if(!start_kthread(&padapter->cmdThread, rtw_cmd_thread, padapter, "8192cu-cmd")) | |
_status = _FAIL; | |
else | |
_rtw_down_sema(&padapter->cmdpriv.terminate_cmdthread_sema); //wait for cmd_thread to run | |
- | |
#ifdef CONFIG_EVENT_THREAD_MODE | |
- padapter->evtThread = kernel_thread(event_thread, padapter, CLONE_FS|CLONE_FILES); | |
- if(padapter->evtThread < 0) | |
+ if(!start_kthread(&padapter->evtThread, event_thread, padapter, "8192cu-evt")) | |
_status = _FAIL; | |
#endif | |
diff -ru original/os_dep/osdep_service.c new/os_dep/osdep_service.c | |
--- original/os_dep/osdep_service.c 2012-07-30 13:51:05.000000000 +0100 | |
+++ new/os_dep/osdep_service.c 2013-04-27 01:03:54.815246692 +0100 | |
@@ -1553,3 +1553,19 @@ | |
#endif | |
} | |
+#ifdef PLATFORM_LINUX | |
+int start_kthread(_thread_hdl_ *t_hdl, int (*threadfn)(void *data), | |
+ void *data, const char *name) | |
+{ | |
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) | |
+ *t_hdl = kernel_thread(threadfn, data, CLONE_FS|CLONE_FILES); | |
+ if(*t_hdl < 0) | |
+#else | |
+ *t_hdl = kthread_run(threadfn, data, name); | |
+ if(IS_ERR(*t_hdl)) | |
+#endif | |
+ return 0; | |
+ return -1; | |
+} | |
+#endif | |
+ | |
diff -ru original/Makefile new/Makefile | |
--- original/Makefile 2012-07-30 08:51:05.000000000 -0400 | |
+++ new/Makefile 2013-06-10 12:21:29.190230724 -0400 | |
@@ -36,7 +36,8 @@ | |
CONFIG_RTL8192CU_REDEFINE_1X1 =n | |
CONFIG_WAKE_ON_WLAN = n | |
-CONFIG_PLATFORM_I386_PC = y | |
+CONFIG_PLATFORM_I386_PC = n | |
+CONFIG_PLATFORM_BEAGLEBONE = y | |
CONFIG_PLATFORM_TI_AM3517 = n | |
CONFIG_PLATFORM_ANDROID_X86 = n | |
CONFIG_PLATFORM_ARM_S3C2K4 = n | |
@@ -257,6 +258,16 @@ | |
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/ | |
INSTALL_PREFIX := | |
endif | |
+ | |
+ifeq ($(CONFIG_PLATFORM_BEAGLEBONE), y) | |
+EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN | |
+ARCH=arm | |
+CROSS_COMPILE := arm-linux-gnueabi- | |
+KVER := $(shell uname -r) | |
+KSRC ?= /lib/modules/$(KVER)/build | |
+MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/ | |
+INSTALL_PREFIX := | |
+endif | |
ifeq ($(CONFIG_PLATFORM_TI_AM3517), y) | |
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_SHUTTLE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment