Просмотр исходного кода

kernel: fix cryptodev with kernel >= 2.6.35

The fix is from http://sourceforge.net/mailarchive/forum.php?thread_name=20100906035717.GA7562%40mcafee.com&forum_name=ocf-linux-users

Thank you tripolar for reporting the issue and finding a solution for it.

SVN-Revision: 24286
Hauke Mehrtens 15 лет назад
Родитель
Сommit
0fc35b30e3
1 измененных файлов с 8 добавлено и 2 удалено
  1. 8 2
      target/linux/generic/files/crypto/ocf/cryptodev.c

+ 8 - 2
target/linux/generic/files/crypto/ocf/cryptodev.c

@@ -977,10 +977,16 @@ cryptodev_open(struct inode *inode, struct file *filp)
 	struct fcrypt *fcr;
 
 	dprintk("%s()\n", __FUNCTION__);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
+	/*
+	 * on 2.6.35 private_data points to a miscdevice structure, we override
+	 * it,  which is currently safe to do.
+	 */
 	if (filp->private_data) {
-		printk("cryptodev: Private data already exists !\n");
-		return(0);
+		printk("cryptodev: Private data already exists - %p!\n", filp->private_data);
+		return(-ENODEV);
 	}
+#endif
 
 	fcr = kmalloc(sizeof(*fcr), GFP_KERNEL);
 	if (!fcr) {