Date: Sun, 26 Nov 2000 22:13:55 +0800 (CST) From: Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw> To: Soren Schmidt <sos@freebsd.dk> Cc: <freebsd-stable@FreeBSD.org> Subject: Re: 4.2-RELEASE ata0-master probe failed(solved) Message-ID: <Pine.BSF.4.30.0011262145430.591-100000@brahms.mmlab.cse.yzu.edu.tw> In-Reply-To: <200011261323.OAA38044@freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 26 Nov 2000, Soren Schmidt wrote:
[...]
> > /* if drive is busy it didn't interrupt */
> > if (inb(scp->altioaddr) & ATA_S_BUSY)
> > {
> > /* clear interrupt */
> > inb(scp->ioaddr + ATA_STATUS);
> > return;
> > }
>
> This effectively disables the whole purpose of using the "alternative
> status" register. Using the alt reg does not clear the interrupt
> and we do not want to if this drive didn't interrupt. So this hack
> breaks the driver on systems with more than one controller on
> an interrupt (which is quiet common nowadays).
> Your problem might be that the altioaddr is not correct, so we get
> bogus status from it...
Whoops.... I'm wondering about whether there is any fix to get the
correct altioaddr on my laptop?
>
[...]
>
--
Regards,
Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw>
Multimedia Laboratory, Dept. of Computer Science & Engineering
Yuan Ze University
Taiwan, Republic of China
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.30.0011262145430.591-100000>
