mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-28 09:02:44 +00:00
Backout revision 1.2 since it didn't work and replace it with a fix that
actually does work. Ignore errors from kldload(2) if the errno value is EEXIST. It would help if this return value were documented in the kldload(2) manual page.
This commit is contained in:
parent
a7fabc2b60
commit
30c00e6c41
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=97786
@ -62,10 +62,6 @@ moduleInitialize(void)
|
||||
while ((dp = readdir(dirp))) {
|
||||
if (dp->d_namlen < (sizeof(".ko") - 1)) continue;
|
||||
if (strcmp(dp->d_name + dp->d_namlen - (sizeof(".ko") - 1), ".ko") == 0) {
|
||||
strcpy(module, dp->d_name);
|
||||
module[dp->d_namlen - (sizeof(".ko") - 1)] = '\0';
|
||||
if (modfind(module) != -1)
|
||||
continue;
|
||||
strcpy(module, MODULESDIR);
|
||||
strcat(module, "/");
|
||||
strcat(module, dp->d_name);
|
||||
@ -88,7 +84,7 @@ moduleInitialize(void)
|
||||
msgDebug("Loading module %s (%s)\n", dp->d_name, desc_str);
|
||||
else
|
||||
msgDebug("Loading module %s\n", dp->d_name);
|
||||
if (kldload(module) < 0) {
|
||||
if (kldload(module) < 0 && errno != EEXIST) {
|
||||
if (desc_str[0])
|
||||
msgConfirm("Loading module %s failed\n%s", dp->d_name, desc_str);
|
||||
else
|
||||
@ -197,7 +193,7 @@ kldModuleFire(dialogMenuItem *self) {
|
||||
bzero(fname, sizeof(fname));
|
||||
snprintf(fname, sizeof(fname), "%s/%s", DISTMOUNT, self->prompt);
|
||||
|
||||
if (kldload(fname) < 0) {
|
||||
if (kldload(fname) < 0 && errno != EEXIST) {
|
||||
if (!variable_get(VAR_NO_ERROR))
|
||||
msgConfirm("Loading module %s failed\n", fname);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user