Timing related problem with ATA reinit on resume on Toshiba Portege R100

From: Christian Laursen <xi_at_borderworlds.dk>
Date: 29 Jun 2005 10:28:28 +0200
For a while now I have been tracking down problem with ata that causes
ad0 to be lost when I resume my laptop.

I upgraded to 6.0-CURRENT yesterday and the new vesa console stuff
apparently changed the timings just enough to allow the reinit of ata0
to successfully detect the disk.

A full verbose boot can be seen here:
http://borderworlds.dk/~xi/dmesg.txt

When I am on vt0 suspend/resume works and I get the following:

wakeup from sleeping state (slept 00:00:13)
ata0: reiniting channel ..
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
ad0: setting PIO4 on Intel ICH4 chip
ad0: setting UDMA100 on Intel ICH4 chip
ata0: reinit done ..
ata1: reiniting channel ..
ata1: reset tp1 mask=00 ostat0=ff ostat1=ff
ata1: reinit done ..


However if I am in X the vesa console doesn't seem to slow down the
reinit enough and I get this instead:

wakeup from sleeping state (slept 00:00:16)
ata0: reiniting channel ..
ata0: reset tp1 mask=03 ostat0=80 ostat1=80
ata0: stat0=0x80 err=0x80 lsb=0x80 msb=0x80
ata0: stat0=0x80 err=0x80 lsb=0x80 msb=0x80
ata0: stat0=0x80 err=0x80 lsb=0x80 msb=0x80
ata0: stat0=0x50 err=0x00 lsb=0xfe msb=0x3f
ata0: stat1=0x00 err=0x00 lsb=0xfe msb=0x3f
ata0: reset tp2 stat0=50 stat1=00 devices=0x0
subdisk0: detached
ad0: detached
ata0: reinit done ..
ata1: reiniting channel ..
ata1: reset tp1 mask=00 ostat0=ff ostat1=ff
ata1: reinit done ..

... and the system is not very useful after that.

I hope this is enough to find a solution to the problem. If not please
let me know what I can do further to help.

-- 
Christian Laursen
Received on Wed Jun 29 2005 - 06:28:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:37 UTC