diff --git a/drivers/misc/pmem.c b/drivers/misc/pmem.c index b47acd333f35..5b8b6bdbc87d 100644 --- a/drivers/misc/pmem.c +++ b/drivers/misc/pmem.c @@ -337,7 +337,7 @@ static int pmem_open(struct inode *inode, struct file *file) DLOG("current %u file %p(%d)\n", current->pid, file, file_count(file)); /* setup file->private_data to indicate its unmapped */ /* you can only open a pmem device one time */ - if (file->private_data != NULL) + if (file->private_data != NULL && file->private_data != &pmem[id].dev) return -1; data = kmalloc(sizeof(struct pmem_data), GFP_KERNEL); if (!data) {