mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
dib0700: fix nec repeat handling
When receiving a nec repeat, ensure the correct scancode is repeated rather than a random value from the stack. This removes the need for the bogus uninitialized_var() and also fixes the warnings: drivers/media/usb/dvb-usb/dib0700_core.c: In function ‘dib0700_rc_urb_completion’: drivers/media/usb/dvb-usb/dib0700_core.c:679: warning: ‘protocol’ may be used uninitialized in this function [sean addon: So after writing the patch and submitting it, I've bought the hardware on ebay. Without this patch you get random scancodes on nec repeats, which the patch indeed fixes.] Signed-off-by: Sean Young <sean@mess.org> Tested-by: Sean Young <sean@mess.org> Cc: stable@vger.kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
92dfffee97
commit
ba13e98f2c
@ -704,7 +704,7 @@ static void dib0700_rc_urb_completion(struct urb *purb)
|
||||
struct dvb_usb_device *d = purb->context;
|
||||
struct dib0700_rc_response *poll_reply;
|
||||
enum rc_type protocol;
|
||||
u32 uninitialized_var(keycode);
|
||||
u32 keycode;
|
||||
u8 toggle;
|
||||
|
||||
deb_info("%s()\n", __func__);
|
||||
@ -745,7 +745,8 @@ static void dib0700_rc_urb_completion(struct urb *purb)
|
||||
poll_reply->nec.data == 0x00 &&
|
||||
poll_reply->nec.not_data == 0xff) {
|
||||
poll_reply->data_state = 2;
|
||||
break;
|
||||
rc_repeat(d->rc_dev);
|
||||
goto resubmit;
|
||||
}
|
||||
|
||||
if ((poll_reply->nec.data ^ poll_reply->nec.not_data) != 0xff) {
|
||||
|
Loading…
Reference in New Issue
Block a user