X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/47d8a487f11a9780a9d9c4955c55e5b42edbbdfc..2768393fc00a378e42139872bf47fe02ea6f3751:/ich2/smi.c?ds=sidebyside 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()