From 75acff0164c908083b32cc4401ce4f9d7917e7f2 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Wed, 25 Jan 2012 21:18:25 +0000 Subject: A channel-less span should not crash dahdi * Always check span->channels before accessing span->chans[0] * Clean one dev_notice() text that accessed span->chans[0] * Check channels in basechan_show() sysfs attribute Signed-off-by: Oron Peled Acked-by: Tzafrir Cohen git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10450 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/dahdi-base.c | 5 ++--- drivers/dahdi/dahdi-sysfs.c | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c index 3886e69..eb19188 100644 --- a/drivers/dahdi/dahdi-base.c +++ b/drivers/dahdi/dahdi-base.c @@ -6882,9 +6882,8 @@ static int _dahdi_assign_span(struct dahdi_span *span, unsigned int spanno, if (test_bit(DAHDI_FLAGBIT_REGISTERED, &span->flags)) { dev_notice(span_device(span), - "local span %d is already assigned span %d " - "with base channel %d\n", local_spanno(span), span->spanno, - span->chans[0]->channo); + "local span %d is already assigned span %d\n", + local_spanno(span), span->spanno); return -EINVAL; } diff --git a/drivers/dahdi/dahdi-sysfs.c b/drivers/dahdi/dahdi-sysfs.c index c638104..3b9784d 100644 --- a/drivers/dahdi/dahdi-sysfs.c +++ b/drivers/dahdi/dahdi-sysfs.c @@ -250,6 +250,8 @@ static BUS_ATTR_READER(basechan_show, dev, buf) struct dahdi_span *span; span = dev_to_span(dev); + if (!span->channels) + return -ENODEV; return sprintf(buf, "%d\n", span->chans[0]->channo); } -- cgit v1.2.3