On Sunday 02 July 2006 20:34, Tamas, Gergely wrote: > hI1 > > > > > cd linux-2.6.17-rc1 > > > > patch -R -p1 < budget-av-cam-reset.patch > > > > > > I tried this with 2.6.17 final. Applied this patch, got a reject on > > > dvb_frontend.c > > > > yeah - there were later patches in final; that one will only work > > against -rc1. > > Sure. But it helped. > > Tried the same with 2.6.17-rc1. It worked too... More-or-less... > Only one try failed out of 20 or so... > > uploaded kernel.log to > http://dice.mfa.kfki.hu/tmp/kernel.log-2.6.17-rc1-without_budget-av-cam-res >et.patch.txt OK, I've regenerated the patch; been a bit tired today, so I was worried I'd done something wrong. This patch is against 2.6.17 final. It _should_ do the same as your hand applied patch, but also keep the reinitialisation functionality needed for the budget-av. I added printks to we can check I haven't got it wrong again. Can you give it a go please?
diff -Naur linux-2.6.17.orig/drivers/media/dvb/dvb-core/dvb_frontend.c linux-2.6.17/drivers/media/dvb/dvb-core/dvb_frontend.c --- linux-2.6.17.orig/drivers/media/dvb/dvb-core/dvb_frontend.c 2006-06-18 02:49:35.000000000 +0100 +++ linux-2.6.17/drivers/media/dvb/dvb-core/dvb_frontend.c 2006-07-02 23:33:12.000000000 +0100 @@ -519,7 +519,9 @@ fepriv->delay = 3*HZ; fepriv->status = 0; fepriv->wakeup = 0; - fepriv->reinitialise = 1; + fepriv->reinitialise = 0; + printk("Init first time\n"); + dvb_frontend_init(fe); while (1) { up(&fepriv->sem); /* is locked when we enter the thread... */ @@ -538,6 +540,7 @@ break; if (fepriv->reinitialise) { + printk("Reinit\n"); dvb_frontend_init(fe); if (fepriv->tone != -1) { fe->ops->set_tone(fe, fepriv->tone); @@ -996,17 +999,17 @@ return ret; if ((file->f_flags & O_ACCMODE) != O_RDONLY) { + /* normal tune mode when opened R/W */ + fepriv->tune_mode_flags &= ~FE_TUNE_MODE_ONESHOT; + fepriv->tone = -1; + fepriv->voltage = -1; + ret = dvb_frontend_start (fe); if (ret) dvb_generic_release (inode, file); /* empty event queue */ fepriv->events.eventr = fepriv->events.eventw = 0; - - /* normal tune mode when opened R/W */ - fepriv->tune_mode_flags &= ~FE_TUNE_MODE_ONESHOT; - fepriv->tone = -1; - fepriv->voltage = -1; } return ret;
_______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb