From e6647688deb733302254d52ace74e8d8812b366c Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 8 Sep 2021 14:08:02 -0500 Subject: Fix mts-io radio-udev-discovery feature for Linux 5.4 --- configure.ac | 2 +- io-module/mts_io_module.h | 2 +- io-module/radio_udev_discovery.c | 12 +++++++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 99f7a9a..857cf12 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([mts-io], [4.7.0]) +AC_INIT([mts-io], [4.7.1]) AC_CONFIG_SRCDIR([util/mts_util_lora2_reset.c]) AM_INIT_AUTOMAKE AM_CONFIG_HEADER([config.h]) diff --git a/io-module/mts_io_module.h b/io-module/mts_io_module.h index 3219753..15e4b9a 100644 --- a/io-module/mts_io_module.h +++ b/io-module/mts_io_module.h @@ -5,7 +5,7 @@ * MTAC cards. */ -#define DRIVER_VERSION "v4.7.0" +#define DRIVER_VERSION "v4.7.1" #define DRIVER_AUTHOR "Multitech Systems" #define DRIVER_DESC "MTS-IO Controller" #define DRIVER_NAME "mts-io" diff --git a/io-module/radio_udev_discovery.c b/io-module/radio_udev_discovery.c index eb6c1aa..c6cc98a 100644 --- a/io-module/radio_udev_discovery.c +++ b/io-module/radio_udev_discovery.c @@ -1,6 +1,11 @@ #include #include #include +#include +#include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0) +#include +#endif #include "mts_io_module.h" #include "radio_udev_discovery.h" @@ -48,7 +53,7 @@ verify_vpid(struct sig_pid_radio_reset_monitor_s *p) rcu_read_lock(); vpid1 = find_vpid((pid_t)pid0); if(vpid1 != NULL) - vcount = atomic_read(&vpid1->count); + vcount = refcount_read(&vpid1->count); else vcount = 0; rcu_read_unlock(); @@ -105,7 +110,8 @@ ssize_t mts_attr_store_radio_reset_monitor(struct device *dev, struct device_att rcu_read_unlock(); pr_debug("%s: slot %d: pid %d, vpid 0x%x/vpid 0x%x\n", __FUNCTION__, - i,pid0,vpid0,sig_pid_radio_reset_monitor[i].vpid); + i,(int)pid0,(unsigned int)vpid0, + (unsigned int)sig_pid_radio_reset_monitor[i].vpid); mutex_lock(&mts_io_mutex); if (vpid0 != sig_pid_radio_reset_monitor[i].vpid) { sig_pid_radio_reset_monitor[i].pid = 0; /* Maybe exited? */ @@ -129,7 +135,7 @@ ssize_t mts_attr_store_radio_reset_monitor(struct device *dev, struct device_att } // Location matches our pid } // Loop through table - pr_debug("%s: found=%d, sig=%d\n",__FUNCTION__,sig); + pr_debug("%s: found=%d, sig=%d\n",__FUNCTION__,found,sig); if (found > -1) { mutex_unlock(&mts_io_mutex); return count; -- cgit v1.2.3