Commit 07534553 authored by Karl Hiramoto's avatar Karl Hiramoto Committed by David S. Miller
Browse files

atm/idt77105.c: call atm_dev_signal_change() when signal changes.



Propagate changes to upper atm layer.

Signed-off-by: default avatarKarl Hiramoto <karl@hiramoto.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c69fb76e
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -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);