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>
