From fcebb8f510bbb5c681f1f9af4506b4de241837dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= Date: Wed, 31 Oct 2018 20:48:20 +0000 Subject: [PATCH] Allow recent kernels newer 4.11.x to build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit API changes enforce porting. Signed-off-by: Jan-Simon Möller --- sllin/sllin.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sllin/sllin.c b/sllin/sllin.c index 2969448..7e17127 100644 --- a/sllin/sllin.c +++ b/sllin/sllin.c @@ -56,7 +56,12 @@ #include #include #include +#include +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0) #include +#else +#include +#endif #include #include #include @@ -447,7 +451,9 @@ static int sll_open(struct net_device *dev) static void sll_free_netdev(struct net_device *dev) { int i = dev->base_addr; +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,9) free_netdev(dev); +#endif sllin_devs[i] = NULL; } @@ -460,7 +466,12 @@ static const struct net_device_ops sll_netdev_ops = { static void sll_setup(struct net_device *dev) { dev->netdev_ops = &sll_netdev_ops; +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,9) dev->destructor = sll_free_netdev; +#else + dev->needs_free_netdev = true; + dev->priv_destructor = sll_free_netdev; +#endif dev->hard_header_len = 0; dev->addr_len = 0; @@ -1685,8 +1696,10 @@ static void __exit sllin_exit(void) sl = netdev_priv(dev); if (sl->tty) { netdev_dbg(sl->dev, "tty discipline still running\n"); +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,9) /* Intentionally leak the control block. */ dev->destructor = NULL; +#endif } unregister_netdev(dev); -- 2.13.7