ndiswrapper fix build with upstream.patch

This commit is contained in:
Ertuğrul Erata
2016-07-27 19:10:41 +03:00
parent 2f02d01032
commit a593a3aba4
5 changed files with 111 additions and 85 deletions
@@ -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 <linux/kmod.h>
#include <linux/miscdevice.h>
#include <asm/uaccess.h>
+#include <linux/vmalloc.h>
/*
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 <linux/vmalloc.h>
/* 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 <linux/vmalloc.h>
#endif
@@ -1,41 +0,0 @@
From: Julian Andres Klode <jak@debian.org>
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;
@@ -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 <linux/vmalloc.h>
-#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 <linux/percpu.h>
#include <linux/kthread.h>
#include <linux/workqueue.h>
+#include <linux/vmalloc.h>
+
#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