summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2004-05-25 07:29:35 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2004-05-25 07:29:35 +0000
commitab83b32a149df3209b09ed01c87c9b9868e5371e (patch)
tree7e970f24e244aeb2b23197d727229658fffcc04a
parent93bf03a92166625f23b7709add3793ab8ce48c75 (diff)
downloaddrakx-ab83b32a149df3209b09ed01c87c9b9868e5371e.tar
drakx-ab83b32a149df3209b09ed01c87c9b9868e5371e.tar.gz
drakx-ab83b32a149df3209b09ed01c87c9b9868e5371e.tar.bz2
drakx-ab83b32a149df3209b09ed01c87c9b9868e5371e.tar.xz
drakx-ab83b32a149df3209b09ed01c87c9b9868e5371e.zip
(mapIntfToDevice) only try to lookup pci or usb device by bus location
if its location is defined (some driver are returning bogus data on ETHTOOL_GDRVINFO command)
-rw-r--r--perl-install/network/ethernet.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/perl-install/network/ethernet.pm b/perl-install/network/ethernet.pm
index d5db313f1..193bbf539 100644
--- a/perl-install/network/ethernet.pm
+++ b/perl-install/network/ethernet.pm
@@ -39,7 +39,8 @@ sub mapIntfToDevice {
my ($interface) = @_;
my $hw_addr = c::getHwIDs($interface);
my ($bus, $slot, $func) = map { hex($_) } ($hw_addr =~ /([0-9a-f]+):([0-9a-f]+)\.([0-9a-f]+)/);
- $hw_addr ? grep { $_->{pci_bus} == $bus && $_->{pci_device} == $slot && $_->{pci_function} == $func } detect_devices::probeall() : {};
+ $hw_addr && (every { defined $_ } $bus, $slot, $func) ?
+ grep { $_->{pci_bus} == $bus && $_->{pci_device} == $slot && $_->{pci_function} == $func } detect_devices::probeall() : {};
}