I've updated the iprb driver with a hopeful fix for this problem. I also fixed a problem with the way the code uses properties to determine forced mode. (It relied on attach order of instance numbers... a no-no in Solaris. Some of that code is really byzantine, and I'll be glad when we can open source it so someone else can give it a little TLC.)
The updated binaries (this time with an install script like the fdc updates) is located here: http://www.opensolaris.org/os/community/device_drivers/files Please have another go at it. Thanks! -- Garrett J?rgen Keil wrote: > Garrett D'Amore wrote: > > >> Today I posted some updates for iprb and fdc. These >> drivers, available from >> >> http://www.opensolaris.org/os/community/device_drivers/files/ >> >> have made it possible for me to use suspend/resume nicely on my Dell >> Precision M390 workstation. I'm using build 100 of Solaris. These >> drivers also support quiesce, and I'm able to use reboot -f on this >> platform now, as well. >> >> Look for files named "iprb-2008-11-01.tar.gz" ... >> > > Using the new iprb module. suspend and resume works > on my Toshiba Tecra S1 laptop. But there is a memory leak > somewhere in the iprb suspend/resume code. After several > S3 suspend/resume cycles and a "reboot -d": > > > >> ::findleaks >> > CACHE LEAKED BUFCTL CALLER > b1043018 1 ca96e808 _nsc_setval+0x2ed > b1036018 1 b6047ae0 kcf_soft_config_init+0x41 > b1037018 1 b62914e0 kcf_soft_config_init+0x41 > b1036018 9 b6047b58 kcf_soft_config_init+0x41 > b1043018 1 b900feb0 mii_create+0x12 > b1043018 1 b8c999f8 mii_create+0x12 > b1043018 5 b670a650 mii_create+0x12 > b103a018 1 b5d498b8 mii_init_phy+0x40 > b103a018 5 cd3f3410 mii_init_phy+0x40 > b103a018 1 b8888900 mii_init_phy+0x40 > b1043018 1 b9b18b90 modinstall+0xff > ------------------------------------------------------------------------ > Total 27 buffers, 1816 bytes > > >> cd3f3410$<bufctl_audit >> > ADDR BUFADDR TIMESTAMP THREAD > CACHE LASTLOG CONTENTS > cd3f3410 cd15a890 114e126f2ff cc662ee0 > b103a018 b170b298 b326f180 > kmem_cache_alloc_debug+0x252 > kmem_cache_alloc+0x92 > kmem_zalloc+0x57 > mii_init_phy+0x40 > iprb_phyinit+0xba > iprbresume+0x62 > iprbattach+0x4af > devi_attach+0x82 > cpr_resume_devices+0xd6 > cpr_resume_devices+0x162 > cpr_resume_devices+0x162 > cpr_resume_devices+0x162 > cpr_resume+0x3a8 > cpr_main+0x21e > cpr+0x194 > > >> b670a650$<bufctl_audit >> > ADDR BUFADDR TIMESTAMP THREAD > CACHE LASTLOG CONTENTS > b670a650 b65cf018 114e125d487 cc662ee0 > b1043018 b170b234 b31c0988 > kmem_cache_alloc_debug+0x252 > kmem_cache_alloc+0x92 > kmem_zalloc+0x57 > mii_create+0x12 > iprb_phyinit+0x21 > iprbresume+0x62 > iprbattach+0x4af > devi_attach+0x82 > cpr_resume_devices+0xd6 > cpr_resume_devices+0x162 > cpr_resume_devices+0x162 > cpr_resume_devices+0x162 > cpr_resume+0x3a8 > cpr_main+0x21e > cpr+0x194 >