View | Details | Raw Unified | Return to bug 30683
Collapse All | Expand All

(-)boot/common/module.c (-1 / +9 lines)
Lines 365-376 Link Here
365
	return (0);
365
	return (0);
366
    error = 0;
366
    error = 0;
367
    do {
367
    do {
368
	char* tmp;
368
	dmodname = (char *)md->md_data;
369
	dmodname = (char *)md->md_data;
369
	if (mod_findmodule(NULL, dmodname) == NULL) {
370
	tmp = malloc(strlen(dmodname) + 3 + 1);
371
	strcpy(tmp, dmodname);
372
	strcat(tmp, ".ko");
373
	if (mod_findmodule(tmp, NULL) == NULL) {
374
	    free(tmp);
370
	    printf("loading required module '%s'\n", dmodname);
375
	    printf("loading required module '%s'\n", dmodname);
371
	    error = mod_load(dmodname, 0, NULL);
376
	    error = mod_load(dmodname, 0, NULL);
372
	    if (error && error != EEXIST)
377
	    if (error && error != EEXIST)
373
		break;
378
		break;
379
	    error = 0;
380
	} else {
381
	    free(tmp);
374
	}
382
	}
375
	md = metadata_next(md, MODINFOMD_DEPLIST);
383
	md = metadata_next(md, MODINFOMD_DEPLIST);
376
    } while (md);
384
    } while (md);

Return to bug 30683