When unloading the cx8800 driver I sometimes get a general protection
fault. Analysis revealed a race in cx88_ir_stop(). It can be solved by
using a delayed work instead of a timer for infrared input polling.
Signed-off-by: Jean Delvare
---
Thanks to Trent's compatibility patches, we can go witho
On Thu, 5 Mar 2009 01:43:55 -0800 (PST), Trent Piepho wrote:
> On Thu, 5 Mar 2009, Jean Delvare wrote:
> > +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
> > struct work_struct work;
> > struct timer_list timer;
> > +#else
> > + struct delayed_work work;
> > +#endif
>
> You don't need
On Thu, 5 Mar 2009, Jean Delvare wrote:
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
> struct work_struct work;
> struct timer_list timer;
> +#else
> + struct delayed_work work;
> +#endif
You don't need this compat stuff. compat.h will take are of it for you.
Just code it li
From: Jean Delvare
Subject: cx88: Prevent general protection fault on rmmod
When unloading the cx8800 driver I sometimes get a general protection
fault. Analysis revealed a race in cx88_ir_stop(). It can be solved by
using a delayed work instead of a timer for infrared input polling.
This fixes