> --- bttv-cards.c.orig 2005-04-04 02:20:21.000000000 +0400 > +++ bttv-cards.c 2005-04-04 02:35:25.000000000 +0400 > @@ -2574,7 +2574,7 @@ void __devinit bttv_init_card1(struct bt > btv->use_i2c_hw = 1; > break; > } > - if (!bttv_tvcards[btv->c.type].has_dvb) > + if (!bttv_tvcards[btv->c.type].has_dvb && !btv->use_i2c_hw) > bttv_reset_audio(btv); Shouldn't be needed, the twinhan is tagged as "has_dvb" anyway. > - bttv_reset_audio(btv); > + if (!btv->use_i2c_hw) > + bttv_reset_audio(btv); Try dropping the bttv_reset_audio() call altogether, it's redundant. Gerd -- #define printk(args...) fprintf(stderr, ## args)