Skip to content

Commit

Permalink
[media] af9015: remote controller fixes
Browse files Browse the repository at this point in the history
1)
AF9015 remote controller query will fail rarely due to register
access failures and dvb_usb_v2 will stop rc polling when error
returned. Add logic to allow errors until two consecutive errors
occurs.

2)
Remote controller key map was not loaded in case of key map was set as
a device property. Fix it.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Aug 4, 2012
1 parent ad6b9e5 commit eb29fbe
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
15 changes: 12 additions & 3 deletions drivers/media/dvb/dvb-usb-v2/af9015.c
Original file line number Diff line number Diff line change
Expand Up @@ -1232,11 +1232,19 @@ static int af9015_rc_query(struct dvb_usb_device *d)
}

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;
}

Expand All @@ -1249,8 +1257,9 @@ static int af9015_get_rc_config(struct dvb_usb_device *d, struct dvb_usb_rc *rc)
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)
Expand Down
1 change: 1 addition & 0 deletions drivers/media/dvb/dvb-usb-v2/af9015.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ struct af9015_state {
u8 rc_repeat;
u32 rc_keycode;
u8 rc_last[4];
bool rc_failed;
u8 dual_mode;
u8 seq; /* packet sequence number */
u16 mt2060_if1[2];
Expand Down

0 comments on commit eb29fbe

Please sign in to comment.