xpp: Fixes init error for PRI devices with < 4 ports

Fixes a regression singce r8873: if pri_protocol is not explicitly set
(in /etc/dahdi/xpp.conf) and the device has (licences for) less than 4
"PRI" (E1/T1) ports, the initialization script will attempt to read from
a non-existing SysFS file, and bail out, resulting in a the device
failing to initialize.

For those non-existing ports we can just skip that part of the
initialization. So we just skip it.

Work around: explicitly set pri_protocol to E1 or T1, as needed.

Xorcom Rev: 8047. Ticket: 1334.


git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9430 a0bf4364-ded3-4de4-8d8a-66a801d63aff
This commit is contained in:
Tzafrir Cohen 2010-10-18 14:50:03 +00:00
parent 6646cba099
commit 53b658db1b

View File

@ -348,7 +348,7 @@ sub port_setup($) {
} else { } else {
my $file = sprintf "/sys/bus/xpds/devices/%02d:%1d:%1d/pri_protocol", my $file = sprintf "/sys/bus/xpds/devices/%02d:%1d:%1d/pri_protocol",
$ENV{XBUS_NUMBER}, $ENV{UNIT_NUMBER}, $portno; $ENV{XBUS_NUMBER}, $ENV{UNIT_NUMBER}, $portno;
open(F, $file) || die "$0: Failed opening '$file'"; open(F, $file) || return;
$sysfs_pri_protocol = <F>; $sysfs_pri_protocol = <F>;
close F; close F;
chomp $sysfs_pri_protocol; chomp $sysfs_pri_protocol;