}
state->rc_repeat = buf[6];
+ state->rc_failed = false;
error:
- if (ret)
+ if (ret) {
err("%s: failed:%d", __func__, ret);
+ /* allow random errors as dvb-usb will stop polling on error */
+ if (!state->rc_failed)
+ ret = 0;
+
+ state->rc_failed = true;
+ }
+
return ret;
}
return 0;
/* try to load remote based module param */
- rc->map_name = af9015_rc_setup_match(dvb_usb_af9015_remote,
- af9015_rc_setup_modparam);
+ if (!rc->map_name)
+ rc->map_name = af9015_rc_setup_match(dvb_usb_af9015_remote,
+ af9015_rc_setup_modparam);
/* try to load remote based eeprom hash */
if (!rc->map_name)