Bluetooth: vhci: Ignore return code of nonseekable_open()
authorDavid Herrmann <dh.herrmann@googlemail.com>
Wed, 28 Mar 2012 09:48:42 +0000 (11:48 +0200)
committerGustavo Padovan <gustavo@padovan.org>
Wed, 9 May 2012 03:41:36 +0000 (00:41 -0300)
The comment in ./fs/open.c clearly states that nonseekable_open() will
never fail. Therefore, we can safely ignore the return code. This is the
recommended way to deal with nonseekable_open().
Our current code looks like nonseekable_open() is checked for the return
code. However, if we check the return code, we must also kfree() our
private data if the open fails. To avoid this overhead and to avoid
confusion, we simply drop the return code and return 0.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
drivers/bluetooth/hci_vhci.c

index 158bfe507da7fb19f4149ce63806bd9e8c510409..3f72595a60178a7f23ca45ac6418c6e5cb53faa6 100644 (file)
@@ -252,8 +252,9 @@ static int vhci_open(struct inode *inode, struct file *file)
        }
 
        file->private_data = data;
+       nonseekable_open(inode, file);
 
-       return nonseekable_open(inode, file);
+       return 0;
 }
 
 static int vhci_release(struct inode *inode, struct file *file)