From f2f2ca1e5c586ce63b66142dabbbe669ac2dfd29 Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Fri, 21 Jun 2024 18:09:43 +0800 Subject: [PATCH] quectel_QMI_WWAN: add linux 6.6 kernel support --- package/wwan/driver/quectel_QMI_WWAN/Makefile | 2 +- .../driver/quectel_QMI_WWAN/src/qmi_wwan_q.c | 26 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package/wwan/driver/quectel_QMI_WWAN/Makefile b/package/wwan/driver/quectel_QMI_WWAN/Makefile index b27dfad76..45452109e 100755 --- a/package/wwan/driver/quectel_QMI_WWAN/Makefile +++ b/package/wwan/driver/quectel_QMI_WWAN/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qmi_wwan_q PKG_VERSION:=3.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk diff --git a/package/wwan/driver/quectel_QMI_WWAN/src/qmi_wwan_q.c b/package/wwan/driver/quectel_QMI_WWAN/src/qmi_wwan_q.c index 99a9e9fba..4f1a468ed 100644 --- a/package/wwan/driver/quectel_QMI_WWAN/src/qmi_wwan_q.c +++ b/package/wwan/driver/quectel_QMI_WWAN/src/qmi_wwan_q.c @@ -828,26 +828,26 @@ static struct rtnl_link_stats64 *_rmnet_vnd_get_stats64(struct net_device *net, stats64 = per_cpu_ptr(dev->stats64, cpu); do { +#if (LINUX_VERSION_CODE < KERNEL_VERSION( 6,6,0 )) start = u64_stats_fetch_begin_irq(&stats64->syncp); -#if LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0) +#else + start = u64_stats_fetch_begin(&stats64->syncp); +#endif rx_packets = stats64->rx_packets; rx_bytes = stats64->rx_bytes; tx_packets = stats64->tx_packets; tx_bytes = stats64->tx_bytes; -#else - rx_packets = u64_stats_read(&stats64->rx_packets); - rx_bytes = u64_stats_read(&stats64->rx_bytes); - tx_packets = u64_stats_read(&stats64->tx_packets); - tx_bytes = u64_stats_read(&stats64->tx_bytes); -#endif +#if (LINUX_VERSION_CODE < KERNEL_VERSION( 6,6,0 )) } while (u64_stats_fetch_retry_irq(&stats64->syncp, start)); +#else + } while (u64_stats_fetch_retry(&stats64->syncp, start)); +#endif - - stats->rx_packets += rx_packets; - stats->rx_bytes += rx_bytes; - stats->tx_packets += tx_packets; - stats->tx_bytes += tx_bytes; - + stats->rx_packets += u64_stats_read(&rx_packets); + stats->rx_bytes += u64_stats_read(&rx_bytes); + stats->tx_packets += u64_stats_read(&tx_packets); + stats->tx_bytes += u64_stats_read(&tx_bytes); +#endif } return stats;