On Mon, Jul 25, 2005 at 12:05:59AM +0200, Adam Szalkowski wrote: > > Is the patch below what you meant? If yes, can you try a smaller > > msleep, maybe 15 msecs? > 15ms were to little but 30ms worked. > Still one little question remains: Why does that work? > And what about other hardware with cx24110? I've no idea, maybe Peter can comment? I'm comitting this to CVS now, let's see how it works for other people. Thanks, Johannes > --- drivers/media/dvb/frontends/cx24110.c.orig 2005-07-11 22:26:25.000000000 +0200 > +++ drivers/media/dvb/frontends/cx24110.c 2005-07-24 23:55:12.000000000 +0200 > @@ -398,7 +398,7 @@ > return -EINVAL; > > rv = cx24110_readreg(state, 0x77); > - cx24110_writereg(state, 0x77, rv|0x04); > + cx24110_writereg(state, 0x77, rv | 0x04); > > rv = cx24110_readreg(state, 0x76); > cx24110_writereg(state, 0x76, ((rv & 0x90) | 0x40 | bit)); > @@ -418,7 +418,8 @@ > cx24110_writereg(state, 0x79 + i, cmd->msg[i]); > > rv = cx24110_readreg(state, 0x77); > - cx24110_writereg(state, 0x77, rv|0x04); > + cx24110_writereg(state, 0x77, rv & ~0x04); > + msleep(30); > > rv = cx24110_readreg(state, 0x76); > > Adam >