Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] mceusb: add some missing cmd sizes

Fix mceusb_cmdsize() which returns incorrect datasize=0 for
sub-commands MCE_RSP_GETPORTSTATUS, MCE_RSP_GETWAKESOURCE,
MCE_RSP_EQDEVDETAILS, MCE_RSP_EQEMVER, and MCE_RSP_EQIRNUMPORTS.

While here, change mceusb_cmdsize() name to reflect that it returns
data size not cmd size.

Signed-off-by: William Steidtmann <billstei@hbci.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

William Steidtmann and committed by
Mauro Carvalho Chehab
76dea4cf bebe3c69

+9 -2
+9 -2
drivers/media/rc/mceusb.c
··· 482 482 MCE_RSP_EQIRRXPORTEN, 0x00}; 483 483 */ 484 484 485 - static int mceusb_cmdsize(u8 cmd, u8 subcmd) 485 + static int mceusb_cmd_datasize(u8 cmd, u8 subcmd) 486 486 { 487 487 int datasize = 0; 488 488 ··· 493 493 break; 494 494 case MCE_CMD_PORT_SYS: 495 495 switch (subcmd) { 496 + case MCE_RSP_GETPORTSTATUS: 497 + datasize = 5; 498 + break; 496 499 case MCE_RSP_EQWAKEVERSION: 497 500 datasize = 4; 498 501 break; ··· 503 500 datasize = 2; 504 501 break; 505 502 case MCE_RSP_EQWAKESUPPORT: 503 + case MCE_RSP_GETWAKESOURCE: 504 + case MCE_RSP_EQDEVDETAILS: 505 + case MCE_RSP_EQEMVER: 506 506 datasize = 1; 507 507 break; 508 508 } ··· 515 509 case MCE_RSP_EQIRCFS: 516 510 case MCE_RSP_EQIRTIMEOUT: 517 511 case MCE_RSP_EQIRRXCFCNT: 512 + case MCE_RSP_EQIRNUMPORTS: 518 513 datasize = 2; 519 514 break; 520 515 case MCE_CMD_SIG_END: ··· 975 968 for (; i < buf_len; i++) { 976 969 switch (ir->parser_state) { 977 970 case SUBCMD: 978 - ir->rem = mceusb_cmdsize(ir->cmd, ir->buf_in[i]); 971 + ir->rem = mceusb_cmd_datasize(ir->cmd, ir->buf_in[i]); 979 972 mceusb_dev_printdata(ir, ir->buf_in, i - 1, 980 973 ir->rem + 2, false); 981 974 mceusb_handle_command(ir, i);