From 4955d09e3c7b57db73bf07724ede3dd0b8791eac Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 25 Aug 2005 15:58:37 +0000 Subject: (get_scsi_driver) find driver of host controller from sysfs in all cases (not just usb-storage case) --- perl-install/detect_devices.pm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'perl-install/detect_devices.pm') diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm index a92842a5b..683535eaa 100644 --- a/perl-install/detect_devices.pm +++ b/perl-install/detect_devices.pm @@ -194,10 +194,13 @@ sub may_be_a_hd { sub get_scsi_driver { my (@l) = @_; my %host2driver = map { if_(m!.*/(.*)/(.*)!, $2, $1) } glob("/proc/scsi/*/*"); + # find driver of host controller from sysfs: foreach (@l) { - if (my $driver = $host2driver{$_->{host}}) { - $_->{driver} = $driver; - } + next if $_->{driver}; + my $host = readlink("/sys/block/$_->{device}/device"); + $host =~ s!/host.*!!; + $_->{driver} = readlink("/sys/block/$_->{device}/$host/driver"); + $_->{driver} =~ s!.*/!!; } } -- cgit v1.2.1