diff options
author | Thierry Vignaud <tvignaud@mandriva.org> | 2005-08-25 15:58:37 +0000 |
---|---|---|
committer | Thierry Vignaud <tvignaud@mandriva.org> | 2005-08-25 15:58:37 +0000 |
commit | 4955d09e3c7b57db73bf07724ede3dd0b8791eac (patch) | |
tree | 3cfe9fb81e472a84616fde66247ae0929f34e94e | |
parent | 62dd765fa01539c4c5bfb887173c360d4bc5520c (diff) | |
download | drakx-4955d09e3c7b57db73bf07724ede3dd0b8791eac.tar drakx-4955d09e3c7b57db73bf07724ede3dd0b8791eac.tar.gz drakx-4955d09e3c7b57db73bf07724ede3dd0b8791eac.tar.bz2 drakx-4955d09e3c7b57db73bf07724ede3dd0b8791eac.tar.xz drakx-4955d09e3c7b57db73bf07724ede3dd0b8791eac.zip |
(get_scsi_driver) find driver of host controller from sysfs in all
cases (not just usb-storage case)
-rw-r--r-- | perl-install/detect_devices.pm | 9 |
1 files changed, 6 insertions, 3 deletions
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!.*/!!; } } |