Hi i got some problem with PCI driver for power management. Below
is the code.
static const IOPMPowerState myPMStates [ 2 ] = {
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 1, IOPMPowerOn, IOPMPowerOn, IOPMPowerOn, 0, 0, 0, 0, 0, 0, 0, 0 }
};
IOReturn myValue;
pmRootDomain = getPMRootDomain();
if (pmRootDomain != 0) {
pmRootDomain->registerInterestedDriver(this);
}
PMinit();
myValue = registerPowerDriver(this, (IOPMPowerState *) myPMStates, 2 );
if (myValue != kIOReturnSuccess) {
IOLog("%s: Failed to registerPowerDriver.\n", getName());
return false;
}
provider->joinPMtree(this);
My problem is I can't unload the driver using kextunload.
System log says
Apr 30 21:46:47 localhost kernel: Can't unload
com.myComp.driver.myDriver due to -
Apr 30 21:46:47 localhost kernel: com.myComp.driver.myDriver:
myDriver has 1 instance(s)
if i make the system sleep & wake 'N' times it leaves 'N'
instances of the driver and i can't unload using kextunload.
Also the wake up time is quite high. Below is system log
which is new to me.
Apr 30 21:43:28 localhost kernel: rtclock timebase_callback:
late old 1000000000 / 33303352 new 1000000000 /
33303410myDriver::synchronousIO()
Apr 30 22:31:56 localhost kernel: rtclock timebase_callback: late
old 1000000000 / 33303352 new 1000000000 / 33303352rtclock
timebase_callback: late old 1000000000 / 33303352 new 1000000000 /
33303295rtclock timebase_callback: late old 1000000000 / 33303352 new
1000000000 / 33303352UniNEnet::monitorLinkStatus - Link is up at 10
Mbps - Half Duplex
Any Idea whats going wrong?
:)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden