Loading drivers/media/rc/rc-ir-raw.c +15 −4 Original line number Diff line number Diff line Loading @@ -22,16 +22,27 @@ static int ir_raw_event_thread(void *data) { struct ir_raw_event ev; struct ir_raw_handler *handler; struct ir_raw_event_ctrl *raw = (struct ir_raw_event_ctrl *)data; struct ir_raw_event_ctrl *raw = data; struct rc_dev *dev = raw->dev; while (1) { mutex_lock(&ir_raw_handler_lock); while (kfifo_out(&raw->kfifo, &ev, 1)) { if (is_timing_event(ev)) { if (ev.duration == 0) dev_err(&dev->dev, "nonsensical timing event of duration 0"); if (is_timing_event(raw->prev_ev) && !is_transition(&ev, &raw->prev_ev)) dev_err(&dev->dev, "two consecutive events of type %s", TO_STR(ev.pulse)); if (raw->prev_ev.reset && ev.pulse == 0) dev_err(&dev->dev, "timing event after reset should be pulse"); } list_for_each_entry(handler, &ir_raw_handler_list, list) if (raw->dev->enabled_protocols & if (dev->enabled_protocols & handler->protocols || !handler->protocols) handler->decode(raw->dev, ev); ir_lirc_raw_event(raw->dev, ev); handler->decode(dev, ev); ir_lirc_raw_event(dev, ev); raw->prev_ev = ev; } mutex_unlock(&ir_raw_handler_lock); Loading Loading
drivers/media/rc/rc-ir-raw.c +15 −4 Original line number Diff line number Diff line Loading @@ -22,16 +22,27 @@ static int ir_raw_event_thread(void *data) { struct ir_raw_event ev; struct ir_raw_handler *handler; struct ir_raw_event_ctrl *raw = (struct ir_raw_event_ctrl *)data; struct ir_raw_event_ctrl *raw = data; struct rc_dev *dev = raw->dev; while (1) { mutex_lock(&ir_raw_handler_lock); while (kfifo_out(&raw->kfifo, &ev, 1)) { if (is_timing_event(ev)) { if (ev.duration == 0) dev_err(&dev->dev, "nonsensical timing event of duration 0"); if (is_timing_event(raw->prev_ev) && !is_transition(&ev, &raw->prev_ev)) dev_err(&dev->dev, "two consecutive events of type %s", TO_STR(ev.pulse)); if (raw->prev_ev.reset && ev.pulse == 0) dev_err(&dev->dev, "timing event after reset should be pulse"); } list_for_each_entry(handler, &ir_raw_handler_list, list) if (raw->dev->enabled_protocols & if (dev->enabled_protocols & handler->protocols || !handler->protocols) handler->decode(raw->dev, ev); ir_lirc_raw_event(raw->dev, ev); handler->decode(dev, ev); ir_lirc_raw_event(dev, ev); raw->prev_ev = ev; } mutex_unlock(&ir_raw_handler_lock); Loading