diff -ru cm2020.orig//src/cm2020/cardman.c cm2020/src/cm2020/cardman.c --- cm2020.orig//src/cm2020/cardman.c 2008-04-26 16:59:50.000000000 +0200 +++ cm2020/src/cm2020/cardman.c 2011-02-07 20:24:47.622266596 +0100 @@ -87,7 +87,7 @@ #define FILL_CONTROL_URB usb_fill_control_urb #define FILL_INT_URB usb_fill_int_urb /* prevent races between open() and disconnect() */ -static DECLARE_MUTEX (disconnect_sem); +static DEFINE_SEMAPHORE (disconnect_sem); #endif static unsigned char ucFIDITable_T1_FW1FW2[10][14] = @@ -151,7 +151,7 @@ #endif .read= cmu_read, .write= cmu_write, - .ioctl= cmu_ioctl, + .compat_ioctl= cmu_ioctl, .open= cmu_open, .release= cmu_close, }; @@ -2386,7 +2386,7 @@ memset(cardman,0,sizeof(struct usb_cardman)); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) - init_MUTEX (&cardman->sem); + sema_init (&cardman->sem, 1); cardman->dev = dev; cardman->interface = iface; #endif