... use "do .. while" instead. Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxxx> --- drivers/media/rc/lirc_dev.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c index 400ab80..cc00b9a 100644 --- a/drivers/media/rc/lirc_dev.c +++ b/drivers/media/rc/lirc_dev.c @@ -103,12 +103,11 @@ static int lirc_add_to_buf(struct irctl *ir) * 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) { - got_data++; - goto get_data; - } + do { + res = ir->d.add_to_buf(ir->d.data, ir->buf); + if (!res) + got_data++; + } while (!res); if (res == -ENODEV) kthread_stop(ir->task); -- 2.8.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html