diff options
Diffstat (limited to 'loader2')
| -rw-r--r-- | loader2/net.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/loader2/net.c b/loader2/net.c index 227ed9b0d..720b54c8b 100644 --- a/loader2/net.c +++ b/loader2/net.c @@ -1727,6 +1727,13 @@ int chooseNetworkInterface(struct loaderData_s * loaderData) { for (i = 0; devs[i]; i++) { if (!devs[i]->device) continue; + + /* if kudzu hands us a device name of 'eth', we lack firmware */ + /* skip the device as an option for installation (#251941) */ + if ((strlen(devs[i]->device) == 3) && + (!strncmp(devs[i]->device, "eth", 3))) + continue; + if (devs[i]->desc) { deviceNames[deviceNums] = alloca(strlen(devs[i]->device) + strlen(devs[i]->desc) + 4); @@ -1734,12 +1741,14 @@ int chooseNetworkInterface(struct loaderData_s * loaderData) { devs[i]->device, devs[i]->desc); if (strlen(deviceNames[deviceNums]) > max) max = strlen(deviceNames[deviceNums]); - devices[deviceNums++] = devs[i]->device; + devices[deviceNums] = devs[i]->device; } else { devices[deviceNums] = devs[i]->device; - deviceNames[deviceNums++] = devs[i]->device; + deviceNames[deviceNums] = devs[i]->device; } + deviceNums++; + /* this device has been set and we don't really need to ask * about it again... */ if (loaderData->netDev && (loaderData->netDev_set == 1)) { |
