Hang when probing for CDROM during boot with recent ata(4) code

From: Simon L. Nielsen <simon_at_FreeBSD.org>
Date: Sun, 18 Jan 2004 18:40:45 +0100
Hello

With the changed to the ata(4) code 2004-01-14 21:26 UTC ("Use UMA
instead of plain malloc for getting ATA request storage...") the ata
code hangs on my laptop when it's trying to detect my CDROM/DVD drive.
If I disconnect my CDROM drive it boots fine.

The laptop is an IBM Thinkpad R40 with a CDRW/DVD drive.  I think I saw
somebody notice the same problem with a Thinkpad T40 a few days ago.

My source tree is updated today, but I have tried to use old version of
'sys/dev/ata'.  I can boot with ata code from 2004-01-14 15:00 UTC, and
it fails with ata code from 2004-01-14 22:00 UTC.                      

With the new code it hangs right after:

ata1: reiniting channel ..
ata1: reset tp1 mask=03 ostat0=00 ostat1=00
ata1-master: stat=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1-slave:  stat=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: reset tp2 mask=03 stat0=00 stat1=00 devices=0xc<ATAPI_SLAVE,ATAPI_MASTER>
ata1: resetting done ..
ata1-master: pio=0x0c wdma=0x22 udma=0x42 cable=40pin
ata1-master: setting PIO4 on Intel ICH4 chip
ata1-master: setting PIO4 on Intel ICH4 chip
ata1: device config done ..


With the working kerne I can get:

[simon_at_zaphod:~] sudo atacontrol list
ATA channel 0:
    Master:  ad0 <HTS548080M9AT00/MG4OA50A> ATA/ATAPI rev 6
    Slave:       no device present
ATA channel 1:
    Master: acd0 <UJDA740 DVD/CDRW/1.04> ATA/ATAPI rev 5
    Slave:       no device present
                                  
I have attached dmesg verbose from new code with CDROM drive removed
(dmesgv-new-nocd) and with old code with the CDROM drive installed
(dmesgv-old).  I don't have a real dmesg from when it hangs, since the
laptop has no serial port.

-- 
Simon L. Nielsen
FreeBSD Documentation Team

Received on Sun Jan 18 2004 - 08:40:56 UTC

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