Date: Wed, 17 Mar 2004 10:50:30 -0800 (PST) From: Serge Semenenko <serge@a1.com.ua> To: freebsd-bugs@FreeBSD.org Subject: Re: misc/59876: APM suspend/resume broken with FreeBSD 5.2-BETA on IBM Thinkpad A30p Message-ID: <200403171850.i2HIoUT4032562@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/59876; it has been noted by GNATS. From: Serge Semenenko <serge@a1.com.ua> To: freebsd-gnats-submit@FreeBSD.org, jesse@wingnet.net Cc: Subject: Re: misc/59876: APM suspend/resume broken with FreeBSD 5.2-BETA on IBM Thinkpad A30p Date: Wed, 17 Mar 2004 20:44:21 +0200 On my Thinkpad T20 I use followed patch to 5.2-RELEASE : --- ata-all.c.saved Wed Mar 17 00:39:08 2004 +++ ata-all.c Wed Mar 17 17:22:07 2004 @@ -238,11 +238,20 @@ /* reset the HW */ ata_printf(ch, -1, "resetting devices ..\n"); - ATA_FORCELOCK_CH(ch, ATA_CONTROL); - ch->running = NULL; devices = ch->devices; + /* initialize the softc basics */ + ata_generic_hw(ch); + ch->device[MASTER].channel = ch; + ch->device[MASTER].unit = ATA_MASTER; + ch->device[MASTER].mode = ATA_PIO; + ch->device[SLAVE].channel = ch; + ch->device[SLAVE].unit = ATA_SLAVE; + ch->device[SLAVE].mode = ATA_PIO; + ch->state = ATA_IDLE; + /* initialise device(s) on this channel */ + ch->locking(ch, ATA_LF_LOCK); ch->hw.reset(ch); - ATA_UNLOCK_CH(ch); + ch->locking(ch, ATA_LF_UNLOCK); /* detach what left the channel during reset */ if ((misdev = devices & ~ch->devices)) { Serge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403171850.i2HIoUT4032562>