[media] lirc_dev: do not use goto to create loops
[deliverable/linux.git] / drivers / media / rc / lirc_dev.c
index b11d02682d135ceeed5c60b863ca463f870079dc..cfa6031eeb722cd6fb4dbff59fd9f4a104ee0121 100644 (file)
@@ -99,18 +99,16 @@ static int lirc_add_to_buf(struct irctl *ir)
 {
        if (ir->d.add_to_buf) {
                int res = -ENODATA;
-               int got_data = 0;
+               int got_data = -1;
 
                /*
                 * service the device as long as it is returning
                 * data and we have space
                 */
-get_data:
-               res = ir->d.add_to_buf(ir->d.data, ir->buf);
-               if (res == 0) {
+               do {
                        got_data++;
-                       goto get_data;
-               }
+                       res = ir->d.add_to_buf(ir->d.data, ir->buf);
+               } while (!res);
 
                if (res == -ENODEV)
                        kthread_stop(ir->task);
This page took 0.029429 seconds and 5 git commands to generate.