Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Aug 2000 04:00:03 -0700 (PDT)
From:      Brian Somers <brian@Awfulhak.org>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/20375: APM doesn't work properly! Suspend/resume/suspend/hang 
Message-ID:  <200008111100.EAA52233@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/20375; it has been noted by GNATS.

From: Brian Somers <brian@Awfulhak.org>
To: Josef Karthauser <joe@pavilion.net>
Cc: Brian Somers <brian@Awfulhak.org>, freebsd-bugs@FreeBSD.ORG,
	sheldonh@FreeBSD.ORG, brian@Awfulhak.org
Subject: Re: kern/20375: APM doesn't work properly! Suspend/resume/suspend/hang 
Date: Fri, 11 Aug 2000 11:51:58 +0100

 What happens if you change the tsleep to DELAY() ?  It should sort 
 out the panic, but do you still die in the second suspend ?
 
 The bit I'm *really* interested in is why this hasn't happened for 
 you 'till now ?  It's been happening to me since FreeBSDCon (well, 
 for the entire life of this laptop) !!!
 
 Index: ata-all.c
 ===================================================================
 RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v
 retrieving revision 1.62
 diff -u -r1.62 ata-all.c
 --- ata-all.c	2000/08/08 14:57:36	1.62
 +++ ata-all.c	2000/08/11 10:49:54
 @@ -1281,10 +1281,7 @@
  	if (*mask == 0x03)      /* wait for both master & slave */
  	    if (!(status0 & ATA_S_BUSY) && !(status1 & ATA_S_BUSY))
  		break;
 -	if (ata_delayed_attach)
 -	    DELAY(100);
 -	else
 -	    tsleep(&ata_delayed_attach, PRIBIO, "atarst", 1);
 +	DELAY(100);
      }	
      DELAY(1);
      outb(scp->altioaddr, ATA_A_4BIT);
 
 
 > On Thu, Aug 10, 2000 at 12:22:15PM +0100, Josef Karthauser wrote:
 > > On Thu, Aug 10, 2000 at 12:12:17PM +0100, Brian Somers wrote:
 > > > 
 > > > With the dodgy call to tsleep (passing a NULL as the first arg) I was 
 > > > getting a panic in the KASSERT in tsleep(), but once that was fixed 
 > > > I'm back where I can suspend, resume then lock up when I try to suspend 
 > > > again.
 > > > 
 > > > It'd be worth looking at a crash trace if you can get one.
 > > 
 > > Mine was working once _until_ the tsleep fix!  I'll recompile the
 > > kernel again afresh and check again.  My guess is that this tsleep
 > > is independant to my original report.
 > 
 > To repeat - even though it looks like the KASSERT in tsleep fixed the
 > ata code for you, it's still broken for me on the head branch.  Upon
 > a resume the debugger kicks in at tsleep within atareset.
 >  
 > > My original problem is the same as what you report above.  I've
 > > tried with a cutdown kernel, to remove the possibility that it's
 > > pcm, etc, but it does appear to be more fundamental than that.  I
 > > don't get a crash, just a hang, so no coredump or back trace is
 > > available. :(
 > 
 > I've gone back to 1/Aug/2000 for the ata code to get around that local
 > problem which isn't necessarily the direct cause of the suspend/resume
 > hang that you mention, and which appears to be the same as the one that
 > I opened this PR under.
 > 
 > My suspicion is that something isn't resuming properly and when asked
 > to suspend a second time it's hanging the system.  I wish that I could
 > find our where the hang is occuring.
 > 
 > Joe
 > 
 
 -- 
 Brian <brian@Awfulhak.org>                        <brian@[uk.]FreeBSD.org>
       <http://www.Awfulhak.org>;                   <brian@[uk.]OpenBSD.org>
 Don't _EVER_ lose your sense of humour !
 
 
 
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200008111100.EAA52233>