diff options
author | Karl Hiramoto <karl@hiramoto.org> | 2010-07-08 20:55:33 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-09 00:09:22 -0700 |
commit | 0753455322a957e6a8fd8a9db163ba5aec92ce76 (patch) | |
tree | 4d39ab7a3577343a51ca4e4fbe5ff4f36f2392e7 /drivers/atm | |
parent | c69fb76e8f53b36b81fd7c8a1ed251aaf6bb0386 (diff) | |
download | op-kernel-dev-0753455322a957e6a8fd8a9db163ba5aec92ce76.zip op-kernel-dev-0753455322a957e6a8fd8a9db163ba5aec92ce76.tar.gz |
atm/idt77105.c: call atm_dev_signal_change() when signal changes.
Propagate changes to upper atm layer.
Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/atm')
-rw-r--r-- | drivers/atm/idt77105.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/atm/idt77105.c b/drivers/atm/idt77105.c index dab5cf5..bca9cb8 100644 --- a/drivers/atm/idt77105.c +++ b/drivers/atm/idt77105.c @@ -126,7 +126,7 @@ static void idt77105_restart_timer_func(unsigned long dummy) istat = GET(ISTAT); /* side effect: clears all interrupt status bits */ if (istat & IDT77105_ISTAT_GOODSIG) { /* Found signal again */ - dev->signal = ATM_PHY_SIG_FOUND; + atm_dev_signal_change(dev, ATM_PHY_SIG_FOUND); printk(KERN_NOTICE "%s(itf %d): signal detected again\n", dev->type,dev->number); /* flush the receive FIFO */ @@ -222,7 +222,7 @@ static void idt77105_int(struct atm_dev *dev) /* Rx Signal Condition Change - line went up or down */ if (istat & IDT77105_ISTAT_GOODSIG) { /* signal detected again */ /* This should not happen (restart timer does it) but JIC */ - dev->signal = ATM_PHY_SIG_FOUND; + atm_dev_signal_change(dev, ATM_PHY_SIG_FOUND); } else { /* signal lost */ /* * Disable interrupts and stop all transmission and @@ -235,7 +235,7 @@ static void idt77105_int(struct atm_dev *dev) IDT77105_MCR_DRIC| IDT77105_MCR_HALTTX ) & ~IDT77105_MCR_EIP, MCR); - dev->signal = ATM_PHY_SIG_LOST; + atm_dev_signal_change(dev, ATM_PHY_SIG_LOST); printk(KERN_NOTICE "%s(itf %d): signal lost\n", dev->type,dev->number); } @@ -272,8 +272,9 @@ static int idt77105_start(struct atm_dev *dev) memset(&PRIV(dev)->stats,0,sizeof(struct idt77105_stats)); /* initialise dev->signal from Good Signal Bit */ - dev->signal = GET(ISTAT) & IDT77105_ISTAT_GOODSIG ? ATM_PHY_SIG_FOUND : - ATM_PHY_SIG_LOST; + atm_dev_signal_change(dev, + GET(ISTAT) & IDT77105_ISTAT_GOODSIG ? + ATM_PHY_SIG_FOUND : ATM_PHY_SIG_LOST); if (dev->signal == ATM_PHY_SIG_LOST) printk(KERN_WARNING "%s(itf %d): no signal\n",dev->type, dev->number); |