Loading...
--- xnu/xnu-792.21.3/iokit/Kernel/IOInterruptController.cpp
+++ xnu/xnu-1228/iokit/Kernel/IOInterruptController.cpp
@@ -433,6 +433,8 @@
_numInterruptSources = 1;
// Set up the IOInterruptSource to point at this.
+ parentController->retain();
+ parentSource->retain();
_interruptSources[0].interruptController = parentController;
_interruptSources[0].vectorData = parentSource;
@@ -672,7 +674,8 @@
IOInterruptAction IOSharedInterruptController::getInterruptHandlerAddress(void)
{
- return (IOInterruptAction)&IOSharedInterruptController::handleInterrupt;
+ return OSMemberFunctionCast(IOInterruptAction,
+ this, &IOSharedInterruptController::handleInterrupt);
}
IOReturn IOSharedInterruptController::handleInterrupt(void * /*refCon*/,