From 839f8d4645badb3e01234505cb9965c7652ca611 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Fri, 22 Feb 2008 11:52:11 +0000 Subject: find conflicting drivers with no net interface as well (for example ssb), by looking at the registered driver in sysfs --- lib/network/ndiswrapper.pm | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/network/ndiswrapper.pm') diff --git a/lib/network/ndiswrapper.pm b/lib/network/ndiswrapper.pm index c2fa73f..6950c2b 100644 --- a/lib/network/ndiswrapper.pm +++ b/lib/network/ndiswrapper.pm @@ -63,6 +63,14 @@ sub find_matching_devices { } } + #- find drivers with no net interface + my $sysfs_driver = $device->{sysfs_device} && basename(readlink($device->{sysfs_device} . "/driver/module")); + if ($sysfs_driver) { + my @sysfs_drivers = $sysfs_driver; + @sysfs_drivers = grep { !$is_driver_listed->($_) } @sysfs_drivers; + push @devices, { interface => undef, drivers => \@sysfs_drivers } if @sysfs_drivers; + } + #- add original driver push @devices, { interface => undef, drivers => [ $device->{driver} ] } if !$is_driver_listed->($device->{driver}) && any { $_ eq $device->{driver} } modules::loaded_modules(); -- cgit v1.2.1