Hi Johannes, Em Wed, 5 Oct 2016 20:29:45 +0200 Johannes Stezenbach <js@xxxxxxxxxxx> escreveu: > On Wed, Oct 05, 2016 at 06:04:50AM -0300, Mauro Carvalho Chehab wrote: > > static int cinergyt2_frontend_attach(struct dvb_usb_adapter *adap) > > { > > - char query[] = { CINERGYT2_EP1_GET_FIRMWARE_VERSION }; > > - char state[3]; > > + struct dvb_usb_device *d = adap->dev; > > + struct cinergyt2_state *st = d->priv; > > int ret; > > > > adap->fe_adap[0].fe = cinergyt2_fe_attach(adap->dev); > > > > - ret = dvb_usb_generic_rw(adap->dev, query, sizeof(query), state, > > - sizeof(state), 0); > > it seems to miss this: > > st->data[0] = CINERGYT2_EP1_GET_FIRMWARE_VERSION; > > > + ret = dvb_usb_generic_rw(d, st->data, 1, st->data, 3, 0); > > if (ret < 0) { > > deb_rc("cinergyt2_power_ctrl() Failed to retrieve sleep " > > "state info\n"); > > @@ -141,13 +147,14 @@ static int repeatable_keys[] = { > > static int cinergyt2_rc_query(struct dvb_usb_device *d, u32 *event, int *state) > > { > > struct cinergyt2_state *st = d->priv; > > - u8 key[5] = {0, 0, 0, 0, 0}, cmd = CINERGYT2_EP1_GET_RC_EVENTS; > > int i; > > > > *state = REMOTE_NO_KEY_PRESSED; > > > > - dvb_usb_generic_rw(d, &cmd, 1, key, sizeof(key), 0); > > - if (key[4] == 0xff) { > > + st->data[0] = CINERGYT2_EP1_SLEEP_MODE; > > should probably be > > st->data[0] = CINERGYT2_EP1_GET_RC_EVENTS; > > > + > > + dvb_usb_generic_rw(d, st->data, 1, st->data, 5, 0); > > > HTH, > Johannes Thanks for the review! Yeah, you're right: both firmware and remote controller logic would be broken without the above fixes. Just sent a version 2 of this patch to the ML with the above fixes. Regards, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html