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>