Date: Tue, 23 Mar 1999 02:22:21 -0800 (PST) From: Bruce Evans <bde@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/isa wd.c Message-ID: <199903231022.CAA41572@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 1999/03/23 02:22:21 PST Modified files: sys/i386/isa wd.c Log: Fixed a couple of missing drive selects in wdreset(). This mainly affects cases where there is a slave but no master. These bugs were usually recovered from provided ATAPI was configured, but only after lengthy delays. Configuring ATAPI still fixes some bugs for non-atapi drives. Don't wait for seek complete in wdreset(). If necessary for pre-ata drives, it can be waited for later (we got it wrong by only looking at it for drive 0 anyway). It is set as part of a historical signature for ata drives but doesn't say anything useful about the reset state. It is cleared as part of a non-historical signature for atapi drives so that drivers which don't understand atapi drives seem to see no drive. Waiting for it caused lengthy delays and broke the status returned by wdreset() in cases where the master was not an ata drive. Then the whole wdprobe() failed in some cases where the recovery code didn't work. Don't wait for drive ready in wdreset(). The considerations are the same as for seek complete, except drive ready does say something useful about the reset state of ata drives, and waiting for it later is required anyway for such drives. Lengthy delays can now be avoided by not configuring nonexistent (ata) drives. Unfortunately, this breaks detection of atapi drives in some configurations. Revision Changes Path 1.190 +4 -2 src/sys/i386/isa/wd.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903231022.CAA41572>