diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-12-06 17:01:10 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-12-06 17:01:10 +0000 |
commit | a08050a04875fcc54de48f3acd84f957385411ae (patch) | |
tree | 87cc4c0f8119b0d2f1c9a7062ff778c142de0958 /target/linux/generic/files/crypto | |
parent | 01f75814247b00ca34c3ff0a2d793b3f70d7862b (diff) |
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.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24286 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/files/crypto')
-rw-r--r-- | target/linux/generic/files/crypto/ocf/cryptodev.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/target/linux/generic/files/crypto/ocf/cryptodev.c b/target/linux/generic/files/crypto/ocf/cryptodev.c index c1e9140a0..f7ce06bc1 100644 --- a/target/linux/generic/files/crypto/ocf/cryptodev.c +++ b/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) { |