From 7dd277e02bf1adf45dfed1188001bbe833b83298 Mon Sep 17 00:00:00 2001 From: Antti Palosaari Date: Fri, 8 Mar 2013 17:50:21 -0300 Subject: [PATCH] --- yaml --- r: 366705 b: refs/heads/master c: 75cd5886ed45b4173aa29bc66e7814a820b4fbf7 h: refs/heads/master i: 366703: 6d8b53e3ca21adce1c5ed0aa502729e0ca5e8ac8 v: v3 --- [refs] | 2 +- trunk/drivers/media/usb/dvb-usb-v2/af9035.c | 23 ++++++++++++--------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 2e4eac8477b8..826491d7bff4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1bfd5294ddb8b3d3ac05f609334070454b5ef96f +refs/heads/master: 75cd5886ed45b4173aa29bc66e7814a820b4fbf7 diff --git a/trunk/drivers/media/usb/dvb-usb-v2/af9035.c b/trunk/drivers/media/usb/dvb-usb-v2/af9035.c index 5d6b3713e035..bc26b52e9887 100644 --- a/trunk/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/trunk/drivers/media/usb/dvb-usb-v2/af9035.c @@ -1221,10 +1221,10 @@ static int af9035_init(struct dvb_usb_device *d) #if IS_ENABLED(CONFIG_RC_CORE) static int af9035_rc_query(struct dvb_usb_device *d) { - unsigned int key; - unsigned char b[4]; int ret; - struct usb_req req = { CMD_IR_GET, 0, 0, NULL, 4, b }; + u32 key; + u8 buf[4]; + struct usb_req req = { CMD_IR_GET, 0, 0, NULL, 4, buf }; ret = af9035_ctrl_msg(d, &req); if (ret == 1) @@ -1232,18 +1232,21 @@ static int af9035_rc_query(struct dvb_usb_device *d) else if (ret < 0) goto err; - if ((b[2] + b[3]) == 0xff) { - if ((b[0] + b[1]) == 0xff) { - /* NEC */ - key = b[0] << 8 | b[2]; + if ((buf[2] + buf[3]) == 0xff) { + if ((buf[0] + buf[1]) == 0xff) { + /* NEC standard 16bit */ + key = buf[0] << 8 | buf[2]; } else { - /* ext. NEC */ - key = b[0] << 16 | b[1] << 8 | b[2]; + /* NEC extended 24bit */ + key = buf[0] << 16 | buf[1] << 8 | buf[2]; } } else { - key = b[0] << 24 | b[1] << 16 | b[2] << 8 | b[3]; + /* NEC full code 32bit */ + key = buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]; } + dev_dbg(&d->udev->dev, "%s: %*ph\n", __func__, 4, buf); + rc_keydown(d->rc_dev, key, 0); return 0;