Apply the following change from 5/30/2003 02:15:15 made by scottl to the
FreeBSD ahd driver: aic79xx.c: Use the special LUNLEN_SINGLE_LEVEL constant for post Rev A4 hardware for single byte luns. Without this change, Rev B hardware would place the single byte of lun data in byte 0 of the lun structure when it should be in byte 1. Since there are few if any devices on the market that support multiple luns in target mode, the corrupted lun field (which was only corrupted for non-zero luns) wasn't hurting us. Approved by: re (rwatson)
This commit is contained in:
parent
277fd0e642
commit
88ac7e4d52
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: aic79xx.c,v 1.12 2003/08/29 01:37:11 thorpej Exp $ */
|
/* $NetBSD: aic79xx.c,v 1.13 2003/08/29 01:58:32 thorpej Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Core routines and tables shareable across OS platforms.
|
* Core routines and tables shareable across OS platforms.
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
__KERNEL_RCSID(0, "$NetBSD: aic79xx.c,v 1.12 2003/08/29 01:37:11 thorpej Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: aic79xx.c,v 1.13 2003/08/29 01:58:32 thorpej Exp $");
|
||||||
|
|
||||||
#include <dev/ic/aic79xx_osm.h>
|
#include <dev/ic/aic79xx_osm.h>
|
||||||
#include <dev/ic/aic79xx_inline.h>
|
#include <dev/ic/aic79xx_inline.h>
|
||||||
|
@ -5989,7 +5989,7 @@ ahd_chip_init(struct ahd_softc *ahd)
|
||||||
ahd_outb(ahd, LUNLEN,
|
ahd_outb(ahd, LUNLEN,
|
||||||
sizeof(ahd->next_queued_hscb->pkt_long_lun) - 1);
|
sizeof(ahd->next_queued_hscb->pkt_long_lun) - 1);
|
||||||
} else {
|
} else {
|
||||||
ahd_outb(ahd, LUNLEN, sizeof(ahd->next_queued_hscb->lun) - 1);
|
ahd_outb(ahd, LUNLEN, LUNLEN_SINGLE_LEVEL_LUN);
|
||||||
}
|
}
|
||||||
ahd_outb(ahd, CDBLIMIT, SCB_CDB_LEN_PTR - 1);
|
ahd_outb(ahd, CDBLIMIT, SCB_CDB_LEN_PTR - 1);
|
||||||
ahd_outb(ahd, MAXCMD, 0xFF);
|
ahd_outb(ahd, MAXCMD, 0xFF);
|
||||||
|
|
Loading…
Reference in New Issue