summaryrefslogtreecommitdiffstats
path: root/loader2
diff options
context:
space:
mode:
Diffstat (limited to 'loader2')
-rw-r--r--loader2/net.c13
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)) {