Re: Problem with VMAP_STACK=y
From: JÃrg Otte
Date: Thu Oct 06 2016 - 04:30:25 EST
2016-10-05 20:55 GMT+02:00 Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx>:
> 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
Applied V2 of the patch. Unfortunately no progress.
No video, no error messages.
JÃrg