The GobiNet driver fails to build due to the following commit:
make -C /lib/modules/5.0.14-300.fc30.x86_64/build M=/home/erik/Downloads/S2.36N2.56/GobiNet modules
make[1]: Entering directory '/usr/src/kernels/5.0.14-300.fc30.x86_64'
CC [M] /home/erik/Downloads/S2.36N2.56/GobiNet/QMIDevice.o
/home/erik/Downloads/S2.36N2.56/GobiNet/QMIDevice.c: In function ‘gobi_qmimux_open’:
/home/erik/Downloads/S2.36N2.56/GobiNet/QMIDevice.c:357:11: error: too few arguments to function ‘dev_change_flags’
357 | if (dev_change_flags(real_dev, oflags | IFF_UP | IFF_RUNNING) < 0) {
| ^~~~~~~~~~~~~~~~
In file included from ./include/linux/etherdevice.h:26,
from /home/erik/Downloads/S2.36N2.56/GobiNet/Structs.h:75,
from /home/erik/Downloads/S2.36N2.56/GobiNet/QMIDevice.h:128,
from /home/erik/Downloads/S2.36N2.56/GobiNet/QMIDevice.c:119:
./include/linux/netdevice.h:3634:5: note: declared here
3634 | int dev_change_flags(struct net_device *dev, unsigned int flags,
| ^~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:277: /home/erik/Downloads/S2.36N2.56/GobiNet/QMIDevice.o] Error 1
make[1]: *** [Makefile:1581: _module_/home/erik/Downloads/S2.36N2.56/GobiNet] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.0.14-300.fc30.x86_64'
make: *** [Makefile:43: all] Error 2
It looks like just passing NULL as the final argument to linux_change_flags is pretty safe here unless you’re working with netlink:
--- QMIDevice.c.orig 2019-05-15 10:37:35.390928368 -0400
+++ QMIDevice.c 2019-05-15 10:37:50.676633106 -0400
@@ -354,7 +354,7 @@
{
printk("Adaptor Not Up\n");
oflags = dev->flags;
- if (dev_change_flags(real_dev, oflags | IFF_UP | IFF_RUNNING) < 0) {
+ if (dev_change_flags(real_dev, oflags | IFF_UP | IFF_RUNNING, NULL) < 0) {
printk("IP-Config: Failed to open %s\n",
dev->name);
}
After this it compiles OK. Hope the quick/easy patch helps someone else out.