added probing for nics claimed as bridge (nForcex)
This commit is contained in:
parent
170f3a8a3c
commit
d4e5e4a267
@ -318,7 +318,7 @@ enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char
|
||||
}
|
||||
|
||||
#ifndef DISABLE_NETWORK
|
||||
if (type == NETWORK_DEVICES)
|
||||
if (type == NETWORK_DEVICES || type == BRIDGE_OTHER)
|
||||
net_devices = get_net_devices();
|
||||
#endif
|
||||
|
||||
@ -334,7 +334,7 @@ enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char
|
||||
}
|
||||
#endif
|
||||
#ifndef DISABLE_NETWORK
|
||||
if (type == NETWORK_DEVICES) {
|
||||
if (type == NETWORK_DEVICES || type = BRIDGE_OTHER) {
|
||||
char ** new_net_devices = get_net_devices();
|
||||
while (new_net_devices && *new_net_devices) {
|
||||
char ** ptr = net_devices;
|
||||
|
@ -196,6 +196,9 @@ static void pci_probe(enum driver_type type)
|
||||
case NETWORK_DEVICES:
|
||||
that_class = PCI_CLASS_NETWORK_ETHERNET << 8;
|
||||
break;
|
||||
case BRIDGE_OTHER:
|
||||
that_class = PCI_CLASS_BRIDGE_OTHER << 8;
|
||||
break;
|
||||
case USB_CONTROLLERS:
|
||||
that_class = PCI_CLASS_SERIAL_USB << 8;
|
||||
break;
|
||||
@ -262,7 +265,7 @@ static void pci_probe(enum driver_type type)
|
||||
}
|
||||
#endif /* DISABLE_MEDIAS */
|
||||
#ifndef DISABLE_NETWORK
|
||||
if (type == NETWORK_DEVICES) {
|
||||
if (type == NETWORK_DEVICES || type == BRIDGE_OTHER) {
|
||||
int wait_msg = 0;
|
||||
enum insmod_return failed;
|
||||
if (IS_AUTOMATIC) {
|
||||
@ -272,7 +275,7 @@ static void pci_probe(enum driver_type type)
|
||||
stg1_info_message("About to load driver for network device: %s",
|
||||
pcidb->module);
|
||||
prepare_intf_descr(pcidb->module);
|
||||
failed = my_insmod(pcidb->module, NETWORK_DEVICES, NULL);
|
||||
failed = my_insmod(pcidb->module, type, NULL);
|
||||
if (wait_msg)
|
||||
remove_wait_message();
|
||||
warning_insmod_failed(failed);
|
||||
@ -802,6 +805,8 @@ char ** get_net_devices(void)
|
||||
if (!already_probed) {
|
||||
already_probed = 1; /* cut off loop brought by: probe_that_type => my_insmod => get_net_devices */
|
||||
probe_that_type(NETWORK_DEVICES);
|
||||
/* for some chipsets having nic in it, i.e. nForcex */
|
||||
probe_that_type(BRIDGE_OTHER);
|
||||
}
|
||||
|
||||
while (ptr && *ptr) {
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
enum media_type { CDROM, DISK, FLOPPY, TAPE, UNKNOWN_MEDIA };
|
||||
|
||||
enum driver_type { IDE_ADAPTERS, SCSI_ADAPTERS, MEDIA_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS, ANY_DRIVER_TYPE };
|
||||
enum driver_type { IDE_ADAPTERS, SCSI_ADAPTERS, MEDIA_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS, BRIDGE_OTHER, ANY_DRIVER_TYPE };
|
||||
|
||||
void get_medias(enum media_type media, char *** names, char *** models);
|
||||
char ** get_net_devices(void);
|
||||
@ -50,5 +50,6 @@ void prepare_intf_descr(const char * intf_descr);
|
||||
#define PCI_CLASS_NETWORK_ETHERNET 0x0200
|
||||
#define PCI_CLASS_SERIAL_FIREWIRE 0x0c00
|
||||
#define PCI_CLASS_SERIAL_USB 0x0c03
|
||||
#define PCI_CLASS_BRIDGE_OTHER 0x0680
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user