On 12 Jul 2002 at 23:38, Ian Dowse wrote: > In message <[EMAIL PROTECTED]>, Michiel Boland > writes : >Please correct me if I'm wrong but I don't think the splx > patch does >anything to help people with broken CD-ROM drives. > > Try the following. It fixes CD-ROM drives in VMWare for me, so > there is a good chance it may help with real CD-ROM drives too. > > Sorry, I meant to try to track this down ages ago as it sounded > (and was) really easy to find, but I rarely use CD-ROM drives in > VMWare so I never got around to it. It's just a simple race where > if the completion interrupt comes in between the splx() and the > tsleep(), the tsleep will sit in "atprq" forever. Moving the splx() to > after the tsleep ensures that this can't happen. > > Ian <patch snipped>
FWIW, a quick and dirty test shows that your patch works for me on this kernel: > uname -a FreeBSD hp.lonesome.org 4.6-STABLE FreeBSD 4.6-STABLE #1: Sun Jul 14 11:34:28 EDT 2002 [EMAIL PROTECTED]:/extra/src/sys/compile/HP i386 (that was 4-STABLE as of 02 July 2002, installed from a JP snapshot) with this CDROM: > dmesg |grep acd0 acd0: CDROM <SAMSUNG CD-ROM SC-140> at ata1-slave PIO4 > and with the following sysctl settings: > sysctl -a | egrep "\.ata" hw.ata.ata_dma: 1 hw.ata.wc: 1 hw.ata.tags: 0 hw.ata.atapi_dma: 1 (The above sysctl settings didn't help before the patch. I haven't tried to find out if they matter after the patch.) Let's hope the patch can be included in 4.6.1-RELEASE. Thanks, Ian, for some much-needed relief! Eric To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-stable" in the body of the message