diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2006-07-22 18:25:43 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2006-07-22 18:25:43 +0000 |
commit | bbb2b937e8eb711e43b20c9167ba5367c2725063 (patch) | |
tree | b960c7c91d15d5dd460154d48ff2a1c739cf0579 /sys/scsi | |
parent | 34000158948e98ee49c420f972f976ba32b58b69 (diff) |
Allocate enough, and only enough, scsi_link pointers for the number of
LUNs the driver says targets could have. Don't unconditionally
allocate 8. USB and ATAPI devices have fewer. Fibre Channel devices
can have more.
Diffstat (limited to 'sys/scsi')
-rw-r--r-- | sys/scsi/scsiconf.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/scsi/scsiconf.c b/sys/scsi/scsiconf.c index dfcec389ef8..8e602244f8d 100644 --- a/sys/scsi/scsiconf.c +++ b/sys/scsi/scsiconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scsiconf.c,v 1.108 2006/07/22 18:03:07 krw Exp $ */ +/* $OpenBSD: scsiconf.c,v 1.109 2006/07/22 18:25:42 krw Exp $ */ /* $NetBSD: scsiconf.c,v 1.57 1996/05/02 01:09:01 neil Exp $ */ /* @@ -141,7 +141,7 @@ scsibusattach(struct device *parent, struct device *self, void *aux) sb->sc_link = malloc(nbytes, M_DEVBUF, M_NOWAIT); if (sb->sc_link == NULL) panic("scsibusattach: can't allocate target links"); - nbytes = 8 * sizeof(struct scsi_link *); + nbytes = sb->adapter_link->luns * sizeof(struct scsi_link *); for (i = 0; i < sb->sc_buswidth; i++) { sb->sc_link[i] = malloc(nbytes, M_DEVBUF, M_NOWAIT); if (sb->sc_link[i] == NULL) |