Do not enable interrupts on codec status change, since we do not handle those. This fixes the lockup on the EeePC, and follows the description in the HDA specs.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29172 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ithamar R. Adema 2009-02-09 16:42:04 +00:00
parent c4d59015f6
commit a6809d0e5c

View File

@ -789,8 +789,14 @@ hda_hw_init(hda_controller* controller)
dprintf("hda: init_corb_rirb_pos failed\n");
goto corb_rirb_failed;
}
controller->Write16(HDAC_WAKE_ENABLE, 0x7fff);
/*
* Don't enable codec state change interrupts. We don't handle
* them, as we want to use the STATE_STATUS register to identify
* available codecs. We'd have to clear that register in the interrupt
* handler to 'ack' the codec change.
*/
controller->Write16(HDAC_WAKE_ENABLE, 0x0);
/* Enable controller interrupts */
controller->Write32(HDAC_INTR_CONTROL, INTR_CONTROL_GLOBAL_ENABLE