Don't pass unadulterated unit numbers to make_dev and its ilk- if you

have more than 256 units, you die. Horribly. Convert them using
unit2minor.

MFC after:	1 week
This commit is contained in:
Matt Jacob 2005-01-22 07:21:25 +00:00
parent 00646ca204
commit c81d2c74ac
2 changed files with 6 additions and 5 deletions

View File

@ -285,7 +285,8 @@ passregister(struct cam_periph *periph, void *arg)
* it even has a blocksize.
*/
no_tags = (cgd->inq_data.flags & SID_CmdQue) == 0;
softc->device_stats = devstat_new_entry("pass", periph->unit_number, 0,
softc->device_stats = devstat_new_entry("pass",
unit2minor(periph->unit_number), 0,
DEVSTAT_NO_BLOCKSIZE
| (no_tags ? DEVSTAT_NO_ORDERED_TAGS : 0),
softc->pd_type |
@ -294,9 +295,9 @@ passregister(struct cam_periph *periph, void *arg)
DEVSTAT_PRIORITY_PASS);
/* Register the device */
softc->dev = make_dev(&pass_cdevsw, periph->unit_number, UID_ROOT,
GID_OPERATOR, 0600, "%s%d", periph->periph_name,
periph->unit_number);
softc->dev = make_dev(&pass_cdevsw, unit2minor(periph->unit_number),
UID_ROOT, GID_OPERATOR, 0600, "%s%d",
periph->periph_name, periph->unit_number);
softc->dev->si_drv1 = periph;
/*

View File

@ -363,7 +363,7 @@ sesregister(struct cam_periph *periph, void *arg)
return (CAM_REQ_CMP_ERR);
}
softc->ses_dev = make_dev(&ses_cdevsw, periph->unit_number,
softc->ses_dev = make_dev(&ses_cdevsw, unit2minor(periph->unit_number),
UID_ROOT, GID_OPERATOR, 0600, "%s%d",
periph->periph_name, periph->unit_number);
softc->ses_dev->si_drv1 = periph;