diff options
author | Karl Hiramoto <karl@hiramoto.org> | 2010-07-08 16:55:33 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-09 03:09:22 -0400 |
commit | 0753455322a957e6a8fd8a9db163ba5aec92ce76 (patch) | |
tree | 4d39ab7a3577343a51ca4e4fbe5ff4f36f2392e7 /drivers/atm/idt77105.c | |
parent | c69fb76e8f53b36b81fd7c8a1ed251aaf6bb0386 (diff) |
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/idt77105.c')
-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 dab5cf5274fb..bca9cb89a118 100644 --- a/drivers/atm/idt77105.c +++ b/drivers/atm/idt77105.c | |||
@@ -126,7 +126,7 @@ static void idt77105_restart_timer_func(unsigned long dummy) | |||
126 | istat = GET(ISTAT); /* side effect: clears all interrupt status bits */ | 126 | istat = GET(ISTAT); /* side effect: clears all interrupt status bits */ |
127 | if (istat & IDT77105_ISTAT_GOODSIG) { | 127 | if (istat & IDT77105_ISTAT_GOODSIG) { |
128 | /* Found signal again */ | 128 | /* Found signal again */ |
129 | dev->signal = ATM_PHY_SIG_FOUND; | 129 | atm_dev_signal_change(dev, ATM_PHY_SIG_FOUND); |
130 | printk(KERN_NOTICE "%s(itf %d): signal detected again\n", | 130 | printk(KERN_NOTICE "%s(itf %d): signal detected again\n", |
131 | dev->type,dev->number); | 131 | dev->type,dev->number); |
132 | /* flush the receive FIFO */ | 132 | /* flush the receive FIFO */ |
@@ -222,7 +222,7 @@ static void idt77105_int(struct atm_dev *dev) | |||
222 | /* Rx Signal Condition Change - line went up or down */ | 222 | /* Rx Signal Condition Change - line went up or down */ |
223 | if (istat & IDT77105_ISTAT_GOODSIG) { /* signal detected again */ | 223 | if (istat & IDT77105_ISTAT_GOODSIG) { /* signal detected again */ |
224 | /* This should not happen (restart timer does it) but JIC */ | 224 | /* This should not happen (restart timer does it) but JIC */ |
225 | dev->signal = ATM_PHY_SIG_FOUND; | 225 | atm_dev_signal_change(dev, ATM_PHY_SIG_FOUND); |
226 | } else { /* signal lost */ | 226 | } else { /* signal lost */ |
227 | /* | 227 | /* |
228 | * Disable interrupts and stop all transmission and | 228 | * Disable interrupts and stop all transmission and |
@@ -235,7 +235,7 @@ static void idt77105_int(struct atm_dev *dev) | |||
235 | IDT77105_MCR_DRIC| | 235 | IDT77105_MCR_DRIC| |
236 | IDT77105_MCR_HALTTX | 236 | IDT77105_MCR_HALTTX |
237 | ) & ~IDT77105_MCR_EIP, MCR); | 237 | ) & ~IDT77105_MCR_EIP, MCR); |
238 | dev->signal = ATM_PHY_SIG_LOST; | 238 | atm_dev_signal_change(dev, ATM_PHY_SIG_LOST); |
239 | printk(KERN_NOTICE "%s(itf %d): signal lost\n", | 239 | printk(KERN_NOTICE "%s(itf %d): signal lost\n", |
240 | dev->type,dev->number); | 240 | dev->type,dev->number); |
241 | } | 241 | } |
@@ -272,8 +272,9 @@ static int idt77105_start(struct atm_dev *dev) | |||
272 | memset(&PRIV(dev)->stats,0,sizeof(struct idt77105_stats)); | 272 | memset(&PRIV(dev)->stats,0,sizeof(struct idt77105_stats)); |
273 | 273 | ||
274 | /* initialise dev->signal from Good Signal Bit */ | 274 | /* initialise dev->signal from Good Signal Bit */ |
275 | dev->signal = GET(ISTAT) & IDT77105_ISTAT_GOODSIG ? ATM_PHY_SIG_FOUND : | 275 | atm_dev_signal_change(dev, |
276 | ATM_PHY_SIG_LOST; | 276 | GET(ISTAT) & IDT77105_ISTAT_GOODSIG ? |
277 | ATM_PHY_SIG_FOUND : ATM_PHY_SIG_LOST); | ||
277 | if (dev->signal == ATM_PHY_SIG_LOST) | 278 | if (dev->signal == ATM_PHY_SIG_LOST) |
278 | printk(KERN_WARNING "%s(itf %d): no signal\n",dev->type, | 279 | printk(KERN_WARNING "%s(itf %d): no signal\n",dev->type, |
279 | dev->number); | 280 | dev->number); |