ivrs_drv: Fix IVHDs with duplicated BaseAddress

Reviewed by:	jhb
Approved by:	philip (mentor)
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D28945
This commit is contained in:
Ka Ho Ng 2021-03-22 17:33:43 +08:00
parent 25bfa44860
commit ede14736fd

View File

@ -366,10 +366,11 @@ ivhd_identify(driver_t *driver, device_t parent)
for (i = ivhd_count - 1 ; i > 0 ; i--){
if (ivhd_is_newer(&ivhd_hdrs[i-1]->Header,
&ivhd_hdrs[i]->Header)) {
ivhd_hdrs[i-1] = ivhd_hdrs[i];
memmove(&ivhd_hdrs[i-1], &ivhd_hdrs[i],
sizeof(void *) * (ivhd_count - i));
ivhd_count--;
}
}
}
ivhd_devs = malloc(sizeof(device_t) * ivhd_count, M_DEVBUF,
M_WAITOK | M_ZERO);