aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/atm
diff options
context:
space:
mode:
authorKarl Hiramoto <karl@hiramoto.org>2010-07-08 16:55:33 -0400
committerDavid S. Miller <davem@davemloft.net>2010-07-09 03:09:22 -0400
commit0753455322a957e6a8fd8a9db163ba5aec92ce76 (patch)
tree4d39ab7a3577343a51ca4e4fbe5ff4f36f2392e7 /drivers/atm
parentc69fb76e8f53b36b81fd7c8a1ed251aaf6bb0386 (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')
-rw-r--r--drivers/atm/idt77105.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/atm/idt77105.c b/drivers/atm/idt77105.c
index dab5cf5274f..bca9cb89a11 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);