Unverified Commit 6c180919 authored by ZHANG Yuntian's avatar ZHANG Yuntian
Browse files

ch9344: support Linux 6.16

parent bd9bab5c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
  patches = [
    ./fix-linux-6-12-build.patch
    ./fix-linux-6-15-build.patch
    ./fix-linux-6-16-build.patch
  ];

  sourceRoot = "${src.name}/driver";
+16 −0
Original line number Diff line number Diff line
diff --git a/ch9344.c b/ch9344.c
index 36402c0..9f0df54 100644
--- a/ch9344.c
+++ b/ch9344.c
@@ -929,7 +929,11 @@ static void timer_function(unsigned long arg)
 static void timer_function(struct timer_list *t)
 {
 	unsigned char *buffer;
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 16, 0))
+	struct ch9344_ttyport *ttyport = timer_container_of(ttyport, t, timer);
+#else
 	struct ch9344_ttyport *ttyport = from_timer(ttyport, t, timer);
+#endif
 	int fifolen = kfifo_len(&ttyport->rfifo);
 	int len;