]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/scsi/3w-9xxx.c
Merge commit 'v2.6.26' into bkl-removal
[karo-tx-linux.git] / drivers / scsi / 3w-9xxx.c
index 867f6fd5c2c019e51e310e7cb04de44e098f00d3..7045511f9ad2be543f9c4d5940b67d9a28bb0a09 100644 (file)
@@ -84,6 +84,7 @@
 #include <linux/pci.h>
 #include <linux/time.h>
 #include <linux/mutex.h>
+#include <linux/smp_lock.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/uaccess.h>
@@ -862,11 +863,13 @@ out:
 } /* End twa_chrdev_ioctl() */
 
 /* This function handles open for the character device */
+/* NOTE that this function will race with remove. */
 static int twa_chrdev_open(struct inode *inode, struct file *file)
 {
        unsigned int minor_number;
        int retval = TW_IOCTL_ERROR_OS_ENODEV;
 
+       cycle_kernel_lock();
        minor_number = iminor(inode);
        if (minor_number >= twa_device_extension_count)
                goto out;