From bdbf80639936701337f4574bae8c3ea25bb8dd3d Mon Sep 17 00:00:00 2001 From: Avery Black Date: Sun, 13 Oct 2024 07:47:14 -0700 Subject: [PATCH] Disable PS/2 stub on shutdown (#65) --- Changelog.md | 1 + VoodooPS2Trackpad/VoodooPS2SMBusDevice.cpp | 6 ++++++ VoodooPS2Trackpad/VoodooPS2SMBusDevice.h | 1 + 3 files changed, 8 insertions(+) diff --git a/Changelog.md b/Changelog.md index 2ede481..34156d3 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,7 @@ VoodooPS2 Changelog ============================ #### v2.3.7 - Fixed multiple PS2/SMBus devices attaching +- Fixed eratic pointer in bootpicker by disabling SMBus/PS2 devices on shutdown #### v2.3.6 - Lowered macOS requirements to 10.10 diff --git a/VoodooPS2Trackpad/VoodooPS2SMBusDevice.cpp b/VoodooPS2Trackpad/VoodooPS2SMBusDevice.cpp index 3680395..7b93823 100644 --- a/VoodooPS2Trackpad/VoodooPS2SMBusDevice.cpp +++ b/VoodooPS2Trackpad/VoodooPS2SMBusDevice.cpp @@ -53,6 +53,12 @@ bool ApplePS2SmbusDevice::start(IOService *provider) { return true; } +void ApplePS2SmbusDevice::stop(IOService *provider) { + _nub->uninstallPowerControlAction(); + resetDevice(); + super::stop(provider); +} + void ApplePS2SmbusDevice::free() { OSSafeReleaseNULL(_data); super::free(); diff --git a/VoodooPS2Trackpad/VoodooPS2SMBusDevice.h b/VoodooPS2Trackpad/VoodooPS2SMBusDevice.h index 26f386c..de3bfd7 100644 --- a/VoodooPS2Trackpad/VoodooPS2SMBusDevice.h +++ b/VoodooPS2Trackpad/VoodooPS2SMBusDevice.h @@ -30,6 +30,7 @@ class EXPORT ApplePS2SmbusDevice : public IOService { static ApplePS2SmbusDevice *withReset(bool resetNeeded, OSDictionary *data, uint8_t addr); bool start(IOService *provider) override; + void stop(IOService *provider) override; void free() override; private: