[PATCH] [media] staging: Return -EINTR in s2250_probe() if fails to get lock.

From: santosh nayak
Date: Fri Mar 16 2012 - 12:25:28 EST


From: Santosh Nayak <santoshprasadnayak@xxxxxxxxx>

In s2250_probe(), If locking attempt is interrupted by a signal then
it should return -EINTR after unregistering audio device and making free
the allocated memory.

At present, if locking is interrupted by signal it will display message
"initialized successfully" and return success. This is wrong.

Signed-off-by: Santosh Nayak <santoshprasadnayak@xxxxxxxxx>
---
drivers/staging/media/go7007/s2250-board.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/media/go7007/s2250-board.c b/drivers/staging/media/go7007/s2250-board.c
index 014d384..2823bbf 100644
--- a/drivers/staging/media/go7007/s2250-board.c
+++ b/drivers/staging/media/go7007/s2250-board.c
@@ -657,6 +657,10 @@ static int s2250_probe(struct i2c_client *client,
kfree(data);
}
mutex_unlock(&usb->i2c_lock);
+ } else {
+ i2c_unregister_device(audio);
+ kfree(state);
+ return -EINTR;
}

v4l2_info(sd, "initialized successfully\n");
--
1.7.4.4

--
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/