From a593a3aba494d3827ebe2e0161c6d38e5945a01e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 27 Jul 2016 19:10:41 +0300 Subject: [PATCH] ndiswrapper fix build with upstream.patch --- kernel/drivers/ndiswrapper/actions.py | 3 - .../ndiswrapper/files/kernel-4.2.patch | 33 ------ .../files/support_kernel-4.0.patch | 41 ------- .../drivers/ndiswrapper/files/upstream.patch | 100 ++++++++++++++++++ kernel/drivers/ndiswrapper/pspec.xml | 19 ++-- 5 files changed, 111 insertions(+), 85 deletions(-) delete mode 100644 kernel/drivers/ndiswrapper/files/kernel-4.2.patch delete mode 100644 kernel/drivers/ndiswrapper/files/support_kernel-4.0.patch create mode 100644 kernel/drivers/ndiswrapper/files/upstream.patch diff --git a/kernel/drivers/ndiswrapper/actions.py b/kernel/drivers/ndiswrapper/actions.py index cf2ed98b..087a13ab 100644 --- a/kernel/drivers/ndiswrapper/actions.py +++ b/kernel/drivers/ndiswrapper/actions.py @@ -13,9 +13,6 @@ from pisi.actionsapi import get KDIR = kerneltools.getKernelVersion() def build(): - shelltools.system("patch -p1 < ndiswrapper-1.59.patch") - shelltools.system("patch -p1 < kernel-4.2.patch") - autotools.make("-C driver KVERS_UNAME=%s" % KDIR) autotools.make("-C utils") diff --git a/kernel/drivers/ndiswrapper/files/kernel-4.2.patch b/kernel/drivers/ndiswrapper/files/kernel-4.2.patch deleted file mode 100644 index cfaad27e..00000000 --- a/kernel/drivers/ndiswrapper/files/kernel-4.2.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Npur "ndiswrapper-1 .59.orig/driver/loader.c" "ndiswrapper-1 .59/driver/loader.c" ---- "ndiswrapper-1 .59.orig/driver/loader.c" 2013-11-28 20:42:35.000000000 +0100 -+++ "ndiswrapper-1 .59/driver/loader.c" 2015-08-01 18:25:08.302141265 +0200 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - /* - Network adapter: ClassGuid = {4d36e972-e325-11ce-bfc1-08002be10318} -diff -Npur "ndiswrapper-1 .59.orig/driver/ntoskernel.c" "ndiswrapper-1 .59/driver/ntoskernel.c" ---- "ndiswrapper-1 .59.orig/driver/ntoskernel.c" 2013-11-28 20:42:36.000000000 +0100 -+++ "ndiswrapper-1 .59/driver/ntoskernel.c" 2015-08-01 18:24:55.895942032 +0200 -@@ -19,6 +19,7 @@ - #include "pnp.h" - #include "loader.h" - #include "ntoskernel_exports.h" -+#include - - /* MDLs describe a range of virtual address with an array of physical - * pages right after the header. For different ranges of virtual -diff -Npur "ndiswrapper-1 .59.orig/driver/pe_linker.c" "ndiswrapper-1 .59/driver/pe_linker.c" ---- "ndiswrapper-1 .59.orig/driver/pe_linker.c" 2013-11-28 20:42:36.000000000 +0100 -+++ "ndiswrapper-1 .59/driver/pe_linker.c" 2015-08-01 18:28:37.992752176 +0200 -@@ -25,6 +25,7 @@ - //#define DEBUGLINKER 2 - - #include "ntoskernel.h" -+#include - - #endif - diff --git a/kernel/drivers/ndiswrapper/files/support_kernel-4.0.patch b/kernel/drivers/ndiswrapper/files/support_kernel-4.0.patch deleted file mode 100644 index 97ef75d3..00000000 --- a/kernel/drivers/ndiswrapper/files/support_kernel-4.0.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Julian Andres Klode -Date: Tue, 12 May 2015 17:11:11 +0200 -Subject: Support kernel 4.0 - ---- - driver/ndis.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/driver/ndis.c b/driver/ndis.c -index 9ace34b..fafd2e7 100644 ---- a/driver/ndis.c -+++ b/driver/ndis.c -@@ -25,6 +25,10 @@ - #define MAX_ALLOCATED_NDIS_PACKETS TX_RING_SIZE - #define MAX_ALLOCATED_NDIS_BUFFERS TX_RING_SIZE - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) -+#define strncasecmp strnicmp -+#endif -+ - static struct work_struct ndis_work; - static struct nt_list ndis_work_list; - static spinlock_t ndis_work_list_lock; -@@ -438,7 +442,7 @@ static int read_setting(struct nt_list *setting_list, char *keyname, int length, - struct wrap_device_setting *setting; - mutex_lock(&loader_mutex); - nt_list_for_each_entry(setting, setting_list, list) { -- if (strnicmp(keyname, setting->name, length) == 0) { -+ if (strncasecmp(keyname, setting->name, length) == 0) { - TRACE2("setting %s='%s'", keyname, setting->value); - mutex_unlock(&loader_mutex); - *param = ndis_encode_setting(setting, type); -@@ -502,7 +506,7 @@ wstdcall void WIN_FUNC(NdisWriteConfiguration,4) - - mutex_lock(&loader_mutex); - nt_list_for_each_entry(setting, &nmb->wnd->wd->settings, list) { -- if (strnicmp(keyname, setting->name, ansi.length) == 0) { -+ if (strncasecmp(keyname, setting->name, ansi.length) == 0) { - mutex_unlock(&loader_mutex); - if (ndis_decode_setting(setting, param)) - *status = NDIS_STATUS_FAILURE; diff --git a/kernel/drivers/ndiswrapper/files/upstream.patch b/kernel/drivers/ndiswrapper/files/upstream.patch new file mode 100644 index 00000000..10a4c888 --- /dev/null +++ b/kernel/drivers/ndiswrapper/files/upstream.patch @@ -0,0 +1,100 @@ +diff -Nuar ndiswrapper-1.60.orig/ChangeLog ndiswrapper-1.60/ChangeLog +--- ndiswrapper-1.60.orig/ChangeLog 2016-07-27 19:05:10.594950240 +0300 ++++ ndiswrapper-1.60/ChangeLog 2016-07-27 19:06:04.678949272 +0300 +@@ -1,7 +1,3 @@ +-Version 1.60 2016-05-01 +-======================= +-* Support for Linux kernel up to 4.5 +- + Version 1.59 2013-11-28 + ======================= + * Support for Linux kernels from 2.6.13 to 3.12 +diff -Nuar ndiswrapper-1.60.orig/driver/.gitignore ndiswrapper-1.60/driver/.gitignore +--- ndiswrapper-1.60.orig/driver/.gitignore 1970-01-01 02:00:00.000000000 +0200 ++++ ndiswrapper-1.60/driver/.gitignore 2016-07-27 19:06:04.678949272 +0300 +@@ -0,0 +1,11 @@ ++*.ko ++*.mod.c ++*.o ++.*.cmd ++*_exports.h ++/.tmp_versions/ ++/Module.markers ++/Module.symvers ++/modules.order ++/ndis_exports.h ++/win2lin_stubs.h +diff -Nuar ndiswrapper-1.60.orig/driver/loader.h ndiswrapper-1.60/driver/loader.h +--- ndiswrapper-1.60.orig/driver/loader.h 2016-07-27 19:05:10.593950240 +0300 ++++ ndiswrapper-1.60/driver/loader.h 2016-07-27 19:06:09.795949180 +0300 +@@ -16,10 +16,6 @@ + #ifndef _LOADER_H_ + #define _LOADER_H_ + +-#if LINUX_VERSION_CODE > KERNEL_VERSION(4,0,0) +-#include +-#endif +- + #include "ndiswrapper.h" + + #ifndef __KERNEL__ +diff -Nuar ndiswrapper-1.60.orig/driver/ntoskernel.h ndiswrapper-1.60/driver/ntoskernel.h +--- ndiswrapper-1.60.orig/driver/ntoskernel.h 2016-07-27 19:05:10.593950240 +0300 ++++ ndiswrapper-1.60/driver/ntoskernel.h 2016-07-27 19:06:13.834949108 +0300 +@@ -46,6 +46,8 @@ + #include + #include + #include ++#include ++ + + #if !defined(CONFIG_X86) && !defined(CONFIG_X86_64) + #error "this module is for x86 or x86_64 architectures only" +@@ -358,8 +360,18 @@ + #define prandom_seed(seed) net_srandom(seed) + #endif + +-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) +-#define strncasecmp strnicmp ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) ++static int strncasecmp(const char *s1, const char *s2, size_t n) ++{ ++ strnicmp(s1, s2, n); ++} ++#endif ++ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0) ++static inline void netif_trans_update(struct net_device *dev) ++{ ++ dev->trans_start = jiffies; ++} + #endif + + /* TICK is 100ns */ +diff -Nuar ndiswrapper-1.60.orig/driver/wrapndis.c ndiswrapper-1.60/driver/wrapndis.c +--- ndiswrapper-1.60.orig/driver/wrapndis.c 2016-07-27 19:05:10.593950240 +0300 ++++ ndiswrapper-1.60/driver/wrapndis.c 2016-07-27 19:06:23.295948938 +0300 +@@ -704,7 +704,7 @@ + n = wnd->max_tx_packets; + n = mp_tx_packets(wnd, wnd->tx_ring_start, n); + if (n) { +- wnd->net_dev->trans_start = jiffies; ++ netif_trans_update(wnd->net_dev); + wnd->tx_ring_start = + (wnd->tx_ring_start + n) % TX_RING_SIZE; + wnd->is_tx_ring_full = 0; +diff -Nuar ndiswrapper-1.60.orig/ndiswrapper.spec ndiswrapper-1.60/ndiswrapper.spec +--- ndiswrapper-1.60.orig/ndiswrapper.spec 2016-07-27 19:05:10.594950240 +0300 ++++ ndiswrapper-1.60/ndiswrapper.spec 2016-07-27 19:06:28.472948846 +0300 +@@ -1,5 +1,5 @@ + # Define ndiswrapper_version only if it is not already defined. +-%{!?ndiswrapper_version: %define ndiswrapper_version 1.60} ++%{!?ndiswrapper_version: %define ndiswrapper_version svn} + %{!?ndiswrapper_release: %define ndiswrapper_release 1} + + # Define kernel version if not already defined +diff -Nuar ndiswrapper-1.60.orig/utils/.gitignore ndiswrapper-1.60/utils/.gitignore +--- ndiswrapper-1.60.orig/utils/.gitignore 1970-01-01 02:00:00.000000000 +0200 ++++ ndiswrapper-1.60/utils/.gitignore 2016-07-27 19:06:29.224948832 +0300 +@@ -0,0 +1 @@ ++/loadndisdriver diff --git a/kernel/drivers/ndiswrapper/pspec.xml b/kernel/drivers/ndiswrapper/pspec.xml index cdd59bbe..e42135ab 100644 --- a/kernel/drivers/ndiswrapper/pspec.xml +++ b/kernel/drivers/ndiswrapper/pspec.xml @@ -13,23 +13,19 @@ driver A network driver wrapper module-ndiswrapper allows you to use Windows XP drivers for WLAN cards without proper Linux drivers. - http://download.sourceforge.net/ndiswrapper/ndiswrapper-1.59.tar.gz + http://download.sourceforge.net/ndiswrapper/ndiswrapper-1.60.tar.gz - kernel-module-headers + kernel-module-headers - support_kernel-4.0.patch + upstream.patch - - ndiswrapper-1.59.patch - kernel-4.2.patch - ndiswrapper - kernel + kernel /lib/modules @@ -45,6 +41,13 @@ + + 2016-07-27 + 1.60 + Release Bump, rebuild for new kernel. + PisiLinux Community + admin@pisilinux.org + 2016-06-28 1.59