misc/59876: APM suspend/resume broken with FreeBSD 5.2-BETA on
IBM Thinkpad A30p
Serge Semenenko
serge at a1.com.ua
Wed Mar 17 10:50:31 PST 2004
The following reply was made to PR misc/59876; it has been noted by GNATS.
From: Serge Semenenko <serge at a1.com.ua>
To: freebsd-gnats-submit at FreeBSD.org, jesse at 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
More information about the freebsd-bugs
mailing list