summaryrefslogtreecommitdiffstats
path: root/sys/dev/aha/aha.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>1999-05-11 08:12:11 +0000
committerimp <imp@FreeBSD.org>1999-05-11 08:12:11 +0000
commit8f4ecc2360c3d7c61b5cfe7e03db9a3c1d16c5d1 (patch)
treeb5a760d31ab99ce089dc64b4c940d1d4164fc07d /sys/dev/aha/aha.c
parent167e3b025f0742c7d2edbab4a741768f76903d3d (diff)
downloadFreeBSD-src-8f4ecc2360c3d7c61b5cfe7e03db9a3c1d16c5d1.zip
FreeBSD-src-8f4ecc2360c3d7c61b5cfe7e03db9a3c1d16c5d1.tar.gz
Add another kludge to the card identification probe. It appears that
some aha 1542B cards will return 0x7f for the unimplemented GEOMETRY register. This is a good 3.2 candidate. PR: 11469 Submitted by: Thomas David Rivers
Diffstat (limited to 'sys/dev/aha/aha.c')
-rw-r--r--sys/dev/aha/aha.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/aha/aha.c b/sys/dev/aha/aha.c
index 465a34c9..9fea877 100644
--- a/sys/dev/aha/aha.c
+++ b/sys/dev/aha/aha.c
@@ -55,7 +55,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aha.c,v 1.22 1999/05/06 20:16:14 ken Exp $
+ * $Id: aha.c,v 1.23 1999/05/06 22:18:21 peter Exp $
*/
#include "pnp.h"
@@ -367,18 +367,21 @@ aha_probe(struct aha_softc* aha)
* errs on the side of conservatism. Besides, no one will
* notice a 10mS delay here, even the 1542B card users :-)
*
- * Some compatible cards return 0 here.
+ * Some compatible cards return 0 here. Some cards also
+ * seem to return 0x7f.
*
* XXX I'm not sure how this will impact other cloned cards
*
* This really should be replaced with the esetup command, since
- * that appears to be more reliable.
+ * that appears to be more reliable. This becomes more and more
+ * true over time as we discover more cards that don't read the
+ * geometry register consistantly.
*/
if (aha->boardid <= 0x42) {
/* Wait 10ms before reading */
DELAY(10000);
status = aha_inb(aha, GEOMETRY_REG);
- if (status != 0xff && status != 0x00) {
+ if (status != 0xff && status != 0x00 && status != 0x7f) {
PRVERB(("%s: Geometry Register test failed 0x%x\n",
aha_name(aha), status));
return (ENXIO);
OpenPOWER on IntegriCloud