Bug 17487

Summary: ide/atapi/cdrom bugs
Product: Base System Reporter: tuomov <tuomov>
Component: kernAssignee: Søren Schmidt <sos>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.0-RELEASE   
Hardware: Any   
OS: Any   

Description tuomov 2000-03-19 13:30:01 UTC
1. Detection of ATAPI device by some magic signature
(ata-all.c, row 818->) does not seem to work on my cdrom
("noname" 12x). I managed to fix this by a simple identify patch.

2. After this it still complains "NO DRIVER". I managed to track the
problem to acd_mode_sense() failure in acdattach() but I didn't
start trying to fix that too.

Fix: 

1. Always try atapi identify if ata identify fails. Below is a quick
and dirty patch to ata-all.c

109a110,120
> #define TRY_IDENT(scp, SM) \
>       if (scp->devices & (ATA_ATA_##SM|ATA_ATAPI_##SM)){ \
>           if (ata_getparam(scp, ATA_##SM, ATA_C_ATA_IDENTIFY)) { \
>               scp->devices &= ~ATA_ATA_##SM; \
>               if (ata_getparam(scp, ATA_##SM, ATA_C_ATAPI_IDENTIFY)) \
>                   scp->devices &= ~ATA_ATAPI_##SM; \
>               else \
>                   scp->devices |= ATA_ATAPI_##SM; \
>           } \
>       }
> 
884a896,899
> #if 1
>       TRY_IDENT(scp, SLAVE);
>       TRY_IDENT(scp, MASTER);
> #else
896a912,913
> #endif
> 
1028a1046,1050
> 
> #if 1
>       TRY_IDENT(scp, SLAVE);
>       TRY_IDENT(scp, MASTER);
> #else
1040a1063
> #endif
How-To-Repeat: Another broken noname cdrom drive?
Comment 1 dan freebsd_committer freebsd_triage 2000-03-20 04:23:48 UTC
Responsible Changed
From-To: freebsd-bugs->sos

Soren's territory. 8) 
Comment 2 Søren Schmidt freebsd_committer freebsd_triage 2000-11-14 08:58:01 UTC
State Changed
From-To: open->closed


I'm not really sure what this is, it looks strange, please upgrade 
to 4.2 and contact me if you are still having problems.