> 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? Here's my patch against linux 2.6.12 (seems to be identical to CVS): --- 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