google / gasket-driver

GNU General Public License v2.0
47 stars 29 forks source link

kernel 6.8.0 compile error eventfd_signal #23

Open robreardon opened 4 months ago

robreardon commented 4 months ago

Recent change to 6.8.0 kernel requires a minor change to gasket_interrupt.c:

diff --git a/src/gasket_interrupt.c b/src/gasket_interrupt.c
index 531d94e..8dba182 100644
--- a/src/gasket_interrupt.c
+++ b/src/gasket_interrupt.c
@@ -158,7 +158,7 @@ gasket_handle_interrupt(struct gasket_interrupt_data *interrupt_data,
        read_lock(&interrupt_data->eventfd_ctx_lock);
        ctx = interrupt_data->eventfd_ctxs[interrupt_index];
        if (ctx)
-               eventfd_signal(ctx, 1);
+               eventfd_signal(ctx);
        read_unlock(&interrupt_data->eventfd_ctx_lock);

        ++(interrupt_data->interrupt_counts[interrupt_index]);
hbh7 commented 3 months ago

I'm on 6.8.4-2-pve with the PCIE Coral, and this worked for me with Frigate, at least as far as I can tell.

taylorjonl commented 2 months ago

That commit only applies the change to version >=6.8.0, I had the same issue on 6.7.9 and 6.7.12, so I changed my local copy to compare that version and it works. Not sure how to find what version of the linux kernel change the signature but it was likely lower than 6.8.0 or Debian backported it.