Subject: Re: kern/30194: unrecoverable wd(4) error after suspend/resume
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Lubomir Sedlacik <salo@Xtrmntr.org>
List: netbsd-bugs
Date: 05/16/2005 20:29:01
The following reply was made to PR kern/30194; it has been noted by GNATS.

From: Lubomir Sedlacik <salo@Xtrmntr.org>
To: Manuel Bouyer <bouyer@antioche.eu.org>
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/30194: unrecoverable wd(4) error after suspend/resume
Date: Mon, 16 May 2005 22:28:46 +0200

 --9wW02hG+pBvRTRBg
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
 
 hi,
 
 On Mon, May 16, 2005 at 08:02:05PM +0200, Manuel Bouyer wrote:
 > can you try the attached patch ? I've not been able to reproduce your
 > problem, but the atabus power hook needs to be smarter than it is
 > actually.
 
 whooa!  this made a whole lot of a difference (after fixing your patch
 to compile :).  i am now able to suspend/resume without disk losing
 interrupts and hanging.  thanks a lot!
 
 patch for your patch (i also fixed a typo in a comment):
 
 --- ata.diff.orig	2005-05-16 20:34:50.000000000 +0200
 +++ ata.diff	2005-05-16 22:17:06.000000000 +0200
 @@ -57,17 +57,19 @@
    * Add a command to the queue and start controller.
    *
    * MUST BE CALLED AT splbio()!
 -@@ -772,6 +784,10 @@
 +@@ -772,7 +784,11 @@
   		return; /* channel aleady active */
   	}
   	if (__predict_false(chp->ch_queue->queue_freeze > 0)) {
 -+		if (queue->queue_flags & QF_IDLE_WAIT) {
 -+			queue->queue_flags &=3D ~QF_IDLE_WAIT;
 -+			wakeup(&queue->queue_flags);
 +-		return; /* queue froozen */
 ++		if (chp->ch_queue->queue_flags & QF_IDLE_WAIT) {
 ++			chp->ch_queue->queue_flags &=3D ~QF_IDLE_WAIT;
 ++			wakeup(&chp->ch_queue->queue_flags);
  +		}
 - 		return; /* queue froozen */
 ++		return; /* queue frozen */
   	}
   	/*
 + 	 * if someone is waiting for the command to be active, wake it up
  @@ -1422,17 +1438,17 @@
   	switch (why) {
   	case PWR_SOFTSUSPEND:
 
 --=20
 - Lubomir Sedlacik <salo@{NetBSD,Xtrmntr,silcnet}.org>   --
 
 --9wW02hG+pBvRTRBg
 Content-Type: application/pgp-signature
 Content-Disposition: inline
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.6 (NetBSD)
 
 iD8DBQFCiQJ+iwjDDlS8cmMRAmDGAJsE0QdHSv2OHhsGpUvb6ERSXKNqrwCfeigD
 ZQdfpMG2x9Q4ggoTzlTJdvI=
 =nERy
 -----END PGP SIGNATURE-----
 
 --9wW02hG+pBvRTRBg--