#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
#include <linux/freezer.h>
#endif
-#include <linux/smp_lock.h>
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38))
+ #include <linux/smp_lock.h>
+#endif
+#include <linux/module.h>
static int usbcan_probe(struct usb_interface *interface, const struct usb_device_id *id);
static void usbcan_disconnect(struct usb_interface *interface);
int j;
/* prevent more I/O from starting */
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38))
lock_kernel();
+#endif
usbdevs = usb_get_intfdata(interface);
if (usbdevs==NULL){
CANMSG("USBCAN device seems to be already removed\n");
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38))
unlock_kernel();
+#endif
return;
}
usb_set_intfdata(interface, NULL);
mutex_unlock(&usbdevs->devs[j]->io_mutex);
}
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38))
unlock_kernel();
+#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10))
kref_put(&usbdevs->candev->refcount,release_device);