disable channels before installing the handler

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25592 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2008-05-21 20:52:59 +00:00
parent d68d2bb1da
commit dd07c0feb8
2 changed files with 8 additions and 4 deletions
@@ -452,8 +452,7 @@ auich_int(void *arg)
auich_reg_write_32(&card->config, AUICH_REG_GLOB_STA, sta); auich_reg_write_32(&card->config, AUICH_REG_GLOB_STA, sta);
} }
} else { } else {
TRACE(("interrupt masked %lx, ", card->interrupt_mask)); dprintf("interrupt masked %lx, sta %lx\n", card->interrupt_mask, sta);
TRACE(("sta %lx\n", sta));
} }
if (gotone) if (gotone)
@@ -698,6 +697,11 @@ auich_setup(auich_dev * card)
PRINT(("codec description = %s\n", card->config.ac97->codec_info)); PRINT(("codec description = %s\n", card->config.ac97->codec_info));
PRINT(("codec 3d enhancement = %s\n", card->config.ac97->codec_3d_stereo_enhancement)); PRINT(("codec 3d enhancement = %s\n", card->config.ac97->codec_3d_stereo_enhancement));
// disable channels
auich_reg_write_8(&card->config, AUICH_REG_PO_BASE + AUICH_REG_X_CR, 0);
auich_reg_write_8(&card->config, AUICH_REG_PI_BASE + AUICH_REG_X_CR, 0);
auich_reg_write_8(&card->config, AUICH_REG_MC_BASE + AUICH_REG_X_CR, 0);
if (current_settings.use_thread) { if (current_settings.use_thread) {
int_thread_id = spawn_kernel_thread(auich_int_thread, "auich interrupt poller", B_REAL_TIME_PRIORITY, card); int_thread_id = spawn_kernel_thread(auich_int_thread, "auich interrupt poller", B_REAL_TIME_PRIORITY, card);
resume_thread(int_thread_id); resume_thread(int_thread_id);