X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/8ed5907015b127d1312c13216a8e4875c962da8e..2768393fc00a378e42139872bf47fe02ea6f3751:/ich2/smi.c diff --git a/ich2/smi.c b/ich2/smi.c index 8865eab..0e43185 100644 --- a/ich2/smi.c +++ b/ich2/smi.c @@ -33,6 +33,15 @@ void smi_disable() { unsigned short smi_en = _get_PMBASE() + ICH2_PMBASE_SMI_EN; outl(smi_en, inl(smi_en) & ~ICH2_SMI_EN_GBL_SMI_EN); + + /* Try really hard to shut up USB_LEGKEY. */ + pci_write16(ICH2_USB0_BUS, ICH2_USB0_DEV, ICH2_USB0_FN, ICH2_USB_LEGKEY, 0x0); + pci_write16(ICH2_USB0_BUS, ICH2_USB0_DEV, ICH2_USB0_FN, ICH2_USB_LEGKEY, + pci_read16(ICH2_USB0_BUS, ICH2_USB0_DEV, ICH2_USB0_FN, ICH2_USB_LEGKEY)); + pci_write16(ICH2_USB1_BUS, ICH2_USB1_DEV, ICH2_USB1_FN, ICH2_USB_LEGKEY, 0x0); + pci_write16(ICH2_USB1_BUS, ICH2_USB1_DEV, ICH2_USB1_FN, ICH2_USB_LEGKEY, + pci_read16(ICH2_USB1_BUS, ICH2_USB1_DEV, ICH2_USB1_FN, ICH2_USB_LEGKEY)); + } void smi_enable()