RE: [SOLVED] Enable IR on hdpvr

Andy Walls
2011-05-22T03:01:56Z

Jason Gauthier <jgauthier@lastar.com> wrote:

>All,
>
>
>>Okay, so I emailed a little too quickly. The messages above got me
>thinking. One of them is successful the other is not.
>>I verified with irsend. So, this may be an issue with multiple
>hdpvrs.
>
>I believe I've tracked this down.
>
>In lirc_zilog.c:
>
> At 1307:
> ret = add_ir_device(ir);
> if (ret)
> goto out_free_ir;
>
>Looking at add_ir_device:
> It returns:
>
> return i == MAX_IRCTL_DEVICES ? -ENOMEM : i;
>
>Meaning, that with a single device, it will generally return 0.
>However, if there are multiple devices it will return a positive. This
>causes the return check to succeeed, and the goto out_free_ir, and
>basically doesn't continue.
>
>So, simply changing the check to if (ret<0) seems to resolve this.
>Then if -ENOMEM is returned it will fail, and otherwise succeed.
>
>Sorry, this is not an official patch. The maintainer (Jarod?) should
>be able to see what I am talking about and correct this.
>
>Thanks!
>
>Jasoin
>--
>To unsubscribe from this list: send the line "unsubscribe linux-media"
>in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html

I think you're using a borken version. Are you using this one with all the ref counting fixes?

http://git.linuxtv.org/media_tree.git?a=blob;f=drivers/staging/lirc/lirc_zilog.c;h=dd6a57c3c3a3149bac53eb36fd4ddeabed804050;hb=HEAD

Regards,
Andy