mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
RTL8192CU: update to RTL8192CU-v4.0.2_9000.20130911
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
11048a6600
commit
fa2d8e09ba
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="RTL8192CU"
|
||||
PKG_VERSION="v3.4.4_4749.20121105"
|
||||
PKG_VERSION="v4.0.2_9000.20130911"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -1,131 +0,0 @@
|
||||
diff -ruN a/core/rtw_mp.c b/core/rtw_mp.c
|
||||
--- a/core/rtw_mp.c 2012-07-30 12:51:05.000000000 +0000
|
||||
+++ b/core/rtw_mp.c 2013-03-17 19:00:28.393782000 +0000
|
||||
@@ -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");
|
||||
|
||||
}
|
||||
diff -ruN a/include/osdep_service.h b/include/osdep_service.h
|
||||
--- a/include/osdep_service.h 2012-07-30 12:51:05.000000000 +0000
|
||||
+++ b/include/osdep_service.h 2013-03-17 17:37:39.105483734 +0000
|
||||
@@ -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;
|
||||
|
||||
@@ -572,7 +579,7 @@
|
||||
#ifdef PLATFORM_LINUX
|
||||
//struct net_device *pnetdev = (struct net_device *)context;
|
||||
//daemonize("%s", pnetdev->name);
|
||||
- daemonize("%s", "RTKTHREAD");
|
||||
+ //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 -ruN a/include/rtw_recv.h b/include/rtw_recv.h
|
||||
--- a/include/rtw_recv.h 2012-07-30 12:51:05.000000000 +0000
|
||||
+++ b/include/rtw_recv.h 2013-03-17 17:35:36.136873966 +0000
|
||||
@@ -623,8 +623,9 @@
|
||||
//from any given member of recv_frame.
|
||||
// rxmem indicates the any member/address in recv_frame
|
||||
|
||||
- return (union recv_frame*)(((uint)rxmem>>RXFRAME_ALIGN) <<RXFRAME_ALIGN) ;
|
||||
-
|
||||
+ //return (union recv_frame*)(((uint)rxmem>>RXFRAME_ALIGN) <<RXFRAME_ALIGN) ;
|
||||
+ //return (union recv_frame*)(((SIZE_PTR)rxmem >> RXFRAME_ALIGN) << RXFRAME_ALIGN);
|
||||
+ return (union recv_frame*)(((ulong)rxmem>>RXFRAME_ALIGN) <<RXFRAME_ALIGN) ;
|
||||
}
|
||||
|
||||
__inline static union recv_frame *pkt_to_recvframe(_pkt *pkt)
|
||||
diff -ruN a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
|
||||
--- a/os_dep/linux/os_intfs.c 2012-11-05 07:42:45.000000000 +0000
|
||||
+++ b/os_dep/linux/os_intfs.c 2013-03-17 19:00:28.393782000 +0000
|
||||
@@ -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 -ruN a/os_dep/osdep_service.c b/os_dep/osdep_service.c
|
||||
--- a/os_dep/osdep_service.c 2012-07-30 12:51:05.000000000 +0000
|
||||
+++ b/os_dep/osdep_service.c 2013-03-17 19:00:28.393782000 +0000
|
||||
@@ -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
|
||||
+
|
@ -1,285 +0,0 @@
|
||||
From 0bb2e327dd12e44fbd67ff169217fa1f7f0c609b Mon Sep 17 00:00:00 2001
|
||||
From: kolasa <kkolasa@winsoft.pl>
|
||||
Date: Sun, 12 May 2013 21:21:46 +0200
|
||||
Subject: [PATCH] switching to proc_create ( /proc for read/write is not yet
|
||||
usable )
|
||||
|
||||
---
|
||||
.../os_dep/linux/os_intfs.c | 105 ++++++++++++++++++++-
|
||||
1 file changed, 100 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
|
||||
index 4d057a6..17f46f6 100644
|
||||
--- a/os_dep/linux/os_intfs.c
|
||||
+++ b/os_dep/linux/os_intfs.c
|
||||
@@ -275,14 +275,22 @@ void rtw_proc_init_one(struct net_device *dev)
|
||||
#if(LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
|
||||
rtw_proc=create_proc_entry(rtw_proc_name, S_IFDIR, proc_net);
|
||||
#else
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
rtw_proc=create_proc_entry(rtw_proc_name, S_IFDIR, init_net.proc_net);
|
||||
+#else
|
||||
+ rtw_proc=proc_mkdir(rtw_proc_name, init_net.proc_net);
|
||||
+#endif
|
||||
#endif
|
||||
if (rtw_proc == NULL) {
|
||||
DBG_8192C(KERN_ERR "Unable to create rtw_proc directory\n");
|
||||
return;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("ver_info", S_IFREG | S_IRUGO, rtw_proc, proc_get_drv_version, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("ver_info", S_IFREG | S_IRUGO, rtw_proc, proc_get_drv_version, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
@@ -293,10 +301,13 @@ void rtw_proc_init_one(struct net_device *dev)
|
||||
|
||||
if(padapter->dir_dev == NULL)
|
||||
{
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
padapter->dir_dev = create_proc_entry(dev->name,
|
||||
S_IFDIR | S_IRUGO | S_IXUGO,
|
||||
rtw_proc);
|
||||
-
|
||||
+#else
|
||||
+ padapter->dir_dev = proc_mkdir(dev->name,rtw_proc);
|
||||
+#endif
|
||||
dir_dev = padapter->dir_dev;
|
||||
|
||||
if(dir_dev==NULL)
|
||||
@@ -324,84 +335,136 @@ void rtw_proc_init_one(struct net_device *dev)
|
||||
|
||||
rtw_proc_cnt++;
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("write_reg", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_write_reg, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("write_reg", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_write_reg, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry->write_proc = proc_set_write_reg;
|
||||
|
||||
entry = create_proc_read_entry("read_reg", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_read_reg, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("read_reg", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_read_reg, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry->write_proc = proc_set_read_reg;
|
||||
|
||||
-
|
||||
entry = create_proc_read_entry("fwstate", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_fwstate, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("fwstate", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_fwstate, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
-
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("sec_info", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_sec_info, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("sec_info", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_sec_info, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("mlmext_state", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_mlmext_state, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("mlmext_state", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_mlmext_state, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
-
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("qos_option", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_qos_option, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("qos_option", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_qos_option, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("ht_option", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_ht_option, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("ht_option", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_ht_option, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("rf_info", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_rf_info, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("rf_info", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_rf_info, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("ap_info", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_ap_info, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("ap_info", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_ap_info, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("adapter_state", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_adapter_state, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("adapter_state", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_adapter_state, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("trx_info", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_trx_info, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("trx_info", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_trx_info, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
@@ -409,8 +472,13 @@ void rtw_proc_init_one(struct net_device *dev)
|
||||
|
||||
#ifdef CONFIG_AP_MODE
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("all_sta_info", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_all_sta_info, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("all_sta_info", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_all_sta_info, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
@@ -418,8 +486,13 @@ void rtw_proc_init_one(struct net_device *dev)
|
||||
#endif
|
||||
|
||||
#ifdef DBG_MEMORY_LEAK
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("_malloc_cnt", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_malloc_cnt, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("_malloc_cnt", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_malloc_cnt, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
@@ -427,38 +500,60 @@ void rtw_proc_init_one(struct net_device *dev)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FIND_BEST_CHANNEL
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("best_channel", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_best_channel, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("best_channel", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_best_channel, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("rx_signal", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_rx_signal, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("rx_signal", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_rx_signal, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry->write_proc = proc_set_rx_signal;
|
||||
|
||||
entry = create_proc_read_entry("ampdu_enable", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_ampdu_enable, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("ampdu_enable", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_ampdu_enable, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry->write_proc = proc_set_ampdu_enable;
|
||||
|
||||
entry = create_proc_read_entry("rssi_disp", S_IFREG | S_IRUGO,
|
||||
dir_dev, proc_get_rssi_disp, dev);
|
||||
+#else
|
||||
+ entry = proc_create_data("rssi_disp", S_IFREG | S_IRUGO,
|
||||
+ dir_dev, proc_get_rssi_disp, dev);
|
||||
+#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
return;
|
||||
}
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry->write_proc = proc_set_rssi_disp;
|
||||
-
|
||||
+#endif
|
||||
}
|
||||
|
||||
void rtw_proc_remove_one(struct net_device *dev)
|
||||
--
|
||||
1.8.1.6
|
||||
|
@ -1,92 +0,0 @@
|
||||
From e30a6db935752679770b31668e899a7b77e1fec4 Mon Sep 17 00:00:00 2001
|
||||
From: kolasa <kkolasa@winsoft.pl>
|
||||
Date: Mon, 13 May 2013 11:43:03 +0200
|
||||
Subject: [PATCH] Usable /proc/net/rtl819xC/ver_info
|
||||
|
||||
---
|
||||
.../core/rtw_debug.c | 9 +++++++++
|
||||
.../include/rtw_debug.h | 5 ++++-
|
||||
.../os_dep/linux/os_intfs.c | 14 +++++++++++++-
|
||||
3 files changed, 26 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/rtw_debug.c b/core/rtw_debug.c
|
||||
index 04e472d..018fe48 100644
|
||||
--- a/core/rtw_debug.c
|
||||
+++ b/core/rtw_debug.c
|
||||
@@ -62,6 +62,7 @@
|
||||
#ifdef CONFIG_PROC_DEBUG
|
||||
#include <rtw_version.h>
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
int proc_get_drv_version(char *page, char **start,
|
||||
off_t offset, int count,
|
||||
int *eof, void *data)
|
||||
@@ -75,6 +76,14 @@ int proc_get_drv_version(char *page, char **start,
|
||||
*eof = 1;
|
||||
return len;
|
||||
}
|
||||
+#else
|
||||
+int proc_get_drv_version(struct seq_file *m, void* data)
|
||||
+{
|
||||
+ struct net_device *dev = data;
|
||||
+
|
||||
+ return seq_printf(m, "%s\n", DRIVERVERSION);
|
||||
+}
|
||||
+#endif
|
||||
|
||||
int proc_get_write_reg(char *page, char **start,
|
||||
off_t offset, int count,
|
||||
diff --git a/include/rtw_debug.h b/include/rtw_debug.h
|
||||
index eca6692..5b3e5cc 100644
|
||||
--- a/include/rtw_debug.h
|
||||
+++ b/include/rtw_debug.h
|
||||
@@ -285,10 +285,13 @@
|
||||
|
||||
#ifdef CONFIG_PROC_DEBUG
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
int proc_get_drv_version(char *page, char **start,
|
||||
off_t offset, int count,
|
||||
int *eof, void *data);
|
||||
-
|
||||
+#else
|
||||
+ int proc_get_drv_version(struct seq_file *m, void *data);
|
||||
+#endif
|
||||
int proc_get_write_reg(char *page, char **start,
|
||||
off_t offset, int count,
|
||||
int *eof, void *data);
|
||||
diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
|
||||
index 99a5a1c..0e61bf9 100644
|
||||
--- a/os_dep/linux/os_intfs.c
|
||||
+++ b/os_dep/linux/os_intfs.c
|
||||
@@ -255,6 +255,18 @@
|
||||
static struct proc_dir_entry *rtw_proc = NULL;
|
||||
static int rtw_proc_cnt = 0;
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
|
||||
+static int drv_version_proc_open(struct inode *inode, struct file *file){
|
||||
+ return single_open(file, proc_get_drv_version, NULL);
|
||||
+}
|
||||
+
|
||||
+static const struct file_operations drv_version_fops = {
|
||||
+ .open = drv_version_proc_open,
|
||||
+ .read = seq_read,
|
||||
+ .llseek = seq_lseek,
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
void rtw_proc_init_one(struct net_device *dev)
|
||||
{
|
||||
struct proc_dir_entry *dir_dev = NULL;
|
||||
@@ -289,7 +301,7 @@ void rtw_proc_init_one(struct net_device *dev)
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
|
||||
entry = create_proc_read_entry("ver_info", S_IFREG | S_IRUGO, rtw_proc, proc_get_drv_version, dev);
|
||||
#else
|
||||
- entry = proc_create_data("ver_info", S_IFREG | S_IRUGO, rtw_proc, proc_get_drv_version, dev);
|
||||
+ entry = proc_create_data("ver_info", S_IFREG | S_IRUGO, rtw_proc, &drv_version_fops, dev);
|
||||
#endif
|
||||
if (!entry) {
|
||||
DBG_871X("Unable to create_proc_read_entry!\n");
|
||||
--
|
||||
1.8.1.6
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
diff -Naur RTL8192CU-v3.4.4_4749.20121105/hal/rtl8192c/usb/usb_halinit.c RTL8192CU-v3.4.4_4749.20121105.patch/hal/rtl8192c/usb/usb_halinit.c
|
||||
--- RTL8192CU-v3.4.4_4749.20121105/hal/rtl8192c/usb/usb_halinit.c 2012-07-30 14:51:05.000000000 +0200
|
||||
+++ RTL8192CU-v3.4.4_4749.20121105.patch/hal/rtl8192c/usb/usb_halinit.c 2013-03-19 16:51:48.251080509 +0100
|
||||
@@ -3786,6 +3786,8 @@
|
||||
diff -Naur RTL8192CU-v4.0.2_9000.20130911/hal/rtl8192c/usb/usb_halinit.c RTL8192CU-v4.0.2_9000.20130911.patch/hal/rtl8192c/usb/usb_halinit.c
|
||||
--- RTL8192CU-v4.0.2_9000.20130911/hal/rtl8192c/usb/usb_halinit.c 2013-09-11 05:56:55.000000000 +0200
|
||||
+++ RTL8192CU-v4.0.2_9000.20130911.patch/hal/rtl8192c/usb/usb_halinit.c 2014-04-01 20:17:59.270739417 +0200
|
||||
@@ -3509,6 +3509,8 @@
|
||||
pHalData->CustomerID = RT_CID_DLINK;
|
||||
else if((pHalData->EEPROMVID == 0x2001) && (pHalData->EEPROMPID == 0x330a))
|
||||
pHalData->CustomerID = RT_CID_DLINK;
|
||||
@ -10,14 +10,14 @@ diff -Naur RTL8192CU-v3.4.4_4749.20121105/hal/rtl8192c/usb/usb_halinit.c RTL8192
|
||||
break;
|
||||
case EEPROM_CID_WHQL:
|
||||
/*
|
||||
diff -Naur RTL8192CU-v3.4.4_4749.20121105/os_dep/linux/usb_intf.c RTL8192CU-v3.4.4_4749.20121105.patch/os_dep/linux/usb_intf.c
|
||||
--- RTL8192CU-v3.4.4_4749.20121105/os_dep/linux/usb_intf.c 2012-07-30 14:51:05.000000000 +0200
|
||||
+++ RTL8192CU-v3.4.4_4749.20121105.patch/os_dep/linux/usb_intf.c 2013-03-19 16:52:54.174644642 +0100
|
||||
@@ -137,6 +137,7 @@
|
||||
{USB_DEVICE(0x2001, 0x3307)},//D-Link - Cameo
|
||||
{USB_DEVICE(0x2001, 0x330A)},//D-Link - Alpha
|
||||
{USB_DEVICE(0x2001, 0x3309)},//D-Link - Alpha
|
||||
+ {USB_DEVICE(0x2001, 0x330D)},//D-Link - Alpha(?)
|
||||
{USB_DEVICE(0x0586, 0x341F)},//Zyxel - Abocom
|
||||
{USB_DEVICE(0x7392, 0x7822)},//Edimax - Edimax
|
||||
{USB_DEVICE(0x2019, 0xAB2B)},//Planex - Abocom
|
||||
diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c
|
||||
--- RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c 2013-09-11 05:56:55.000000000 +0200
|
||||
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c 2014-04-01 20:19:23.936708369 +0200
|
||||
@@ -138,6 +138,7 @@
|
||||
{USB_DEVICE(0x2001, 0x3307)},/* D-Link - Cameo */ \
|
||||
{USB_DEVICE(0x2001, 0x330A)},/* D-Link - Alpha */ \
|
||||
{USB_DEVICE(0x2001, 0x3309)},/* D-Link - Alpha */ \
|
||||
+ {USB_DEVICE(0x2001, 0x330D)},/* D-Link - Alpha(?)*/ \
|
||||
{USB_DEVICE(0x0586, 0x341F)},/* Zyxel - Abocom */ \
|
||||
{USB_DEVICE(0x7392, 0x7822)},/* Edimax - Edimax */ \
|
||||
{USB_DEVICE(0x2019, 0xAB2B)},/* Planex - Abocom */ \
|
||||
|
@ -1,13 +1,11 @@
|
||||
diff -Naur RTL8192CU-v3.4.3_4369.20120622/os_dep/linux/usb_intf.c RTL8192CU-v3.4.3_4369.20120622.patch/os_dep/linux/usb_intf.c
|
||||
--- RTL8192CU-v3.4.3_4369.20120622/os_dep/linux/usb_intf.c 2012-06-22 16:59:51.000000000 +0200
|
||||
+++ RTL8192CU-v3.4.3_4369.20120622.patch/os_dep/linux/usb_intf.c 2012-08-08 08:13:59.755932307 +0200
|
||||
@@ -99,7 +99,9 @@
|
||||
{USB_DEVICE(0x2019, 0xED17)},//PCI - Edimax
|
||||
{USB_DEVICE(0x0DF6, 0x0052)},//Sitecom - Edimax
|
||||
{USB_DEVICE(0x7392, 0x7811)},//Edimax - Edimax
|
||||
+ {USB_DEVICE(0x07B8, 0x8188)},//Abocom - Abocom
|
||||
{USB_DEVICE(0x07B8, 0x8189)},//Abocom - Abocom
|
||||
+ {USB_DEVICE(0x0846, 0x9041)},//NetGear WNA1000M
|
||||
{USB_DEVICE(0x0EB0, 0x9071)},//NO Brand - Etop
|
||||
{USB_DEVICE(0x06F8, 0xE033)},//Hercules - Edimax
|
||||
{USB_DEVICE(0x103C, 0x1629)},//HP - Lite-On ,8188CUS Slim Combo
|
||||
diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c
|
||||
--- RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c 2013-09-11 05:56:55.000000000 +0200
|
||||
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c 2014-04-01 20:21:56.601914791 +0200
|
||||
@@ -96,6 +96,7 @@
|
||||
{USB_DEVICE(0x2019, 0xED17)},/* PCI - Edimax */ \
|
||||
{USB_DEVICE(0x0DF6, 0x0052)},/* Sitecom - Edimax */ \
|
||||
{USB_DEVICE(0x7392, 0x7811)},/* Edimax - Edimax */ \
|
||||
+ {USB_DEVICE(0x07B8, 0x8188)},/* Abocom - Abocom */ \
|
||||
{USB_DEVICE(0x07B8, 0x8189)},/* Abocom - Abocom */ \
|
||||
{USB_DEVICE(0x0EB0, 0x9071)},/* NO Brand - Etop */ \
|
||||
{USB_DEVICE(0x06F8, 0xE033)},/* Hercules - Edimax */ \
|
||||
|
@ -0,0 +1,29 @@
|
||||
--- a/os_dep/linux/os_intfs.c 2013-09-11 05:56:55.000000000 +0200
|
||||
+++ b/os_dep/linux/os_intfs.c 2013-11-12 00:30:41.158248277 +0100
|
||||
@@ -277,6 +277,18 @@
|
||||
|
||||
#define RTW_PROC_NAME DRV_NAME
|
||||
|
||||
+#ifndef create_proc_entry
|
||||
+/* dummy routines */
|
||||
+void rtw_proc_remove_one(struct net_device *dev)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void rtw_proc_init_one(struct net_device *dev)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+#else /* create_proc_entry not defined */
|
||||
+
|
||||
void rtw_proc_init_one(struct net_device *dev)
|
||||
{
|
||||
struct proc_dir_entry *dir_dev = NULL;
|
||||
@@ -751,6 +763,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+#endif /* create_proc_entry not defined */
|
||||
#endif
|
||||
|
||||
uint loadparam( _adapter *padapter, _nic_hdl pnetdev);
|
Loading…
x
Reference in New Issue
Block a user