[PATCH 1/1] HID: hidraw: open count should not increase if error

From: Amit Nagal
Date: Tue Sep 27 2011 - 08:26:24 EST


In hidraw_open, if hid_hw_power returns with error,
hidraw device open count should not increase.

Signed-off-by: Amit Nagal <helloin.amit@xxxxxxxxx>
---
drivers/hid/hidraw.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
index c841a8e..09bbcc9 100644
--- a/drivers/hid/hidraw.c
+++ b/drivers/hid/hidraw.c
@@ -271,8 +271,10 @@ static int hidraw_open(struct inode *inode, struct file *file)
dev = hidraw_table[minor];
if (!dev->open++) {
err = hid_hw_power(dev->hid, PM_HINT_FULLON);
- if (err < 0)
+ if (err < 0) {
+ dev->open--;
goto out_unlock;
+ }

err = hid_hw_open(dev->hid);
if (err < 0) {
--
1.7.7-rc0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/