Browse Source

[media] lirc_dev: do not use goto to create loops

... use "do .. while" instead.

Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Andi Shyti 9 years ago
parent
commit
7fe579d29f
1 changed files with 4 additions and 6 deletions
  1. 4 6
      drivers/media/rc/lirc_dev.c

+ 4 - 6
drivers/media/rc/lirc_dev.c

@@ -99,18 +99,16 @@ static int lirc_add_to_buf(struct irctl *ir)
 {
 {
 	if (ir->d.add_to_buf) {
 	if (ir->d.add_to_buf) {
 		int res = -ENODATA;
 		int res = -ENODATA;
-		int got_data = 0;
+		int got_data = -1;
 
 
 		/*
 		/*
 		 * service the device as long as it is returning
 		 * service the device as long as it is returning
 		 * data and we have space
 		 * data and we have space
 		 */
 		 */
-get_data:
-		res = ir->d.add_to_buf(ir->d.data, ir->buf);
-		if (res == 0) {
+		do {
 			got_data++;
 			got_data++;
-			goto get_data;
-		}
+			res = ir->d.add_to_buf(ir->d.data, ir->buf);
+		} while (!res);
 
 
 		if (res == -ENODEV)
 		if (res == -ENODEV)
 			kthread_stop(ir->task);
 			kthread_stop(ir->task);