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

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



Propagate signal 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 e0b901a9
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -866,50 +866,50 @@ static void cxacru_poll_status(struct work_struct *work)
	instance->line_status = buf[CXINF_LINE_STATUS];
	switch (instance->line_status) {
	case 0:
		atm_dev->signal = ATM_PHY_SIG_LOST;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_LOST);
		atm_info(usbatm, "ADSL line: down\n");
		break;

	case 1:
		atm_dev->signal = ATM_PHY_SIG_LOST;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_LOST);
		atm_info(usbatm, "ADSL line: attempting to activate\n");
		break;

	case 2:
		atm_dev->signal = ATM_PHY_SIG_LOST;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_LOST);
		atm_info(usbatm, "ADSL line: training\n");
		break;

	case 3:
		atm_dev->signal = ATM_PHY_SIG_LOST;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_LOST);
		atm_info(usbatm, "ADSL line: channel analysis\n");
		break;

	case 4:
		atm_dev->signal = ATM_PHY_SIG_LOST;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_LOST);
		atm_info(usbatm, "ADSL line: exchange\n");
		break;

	case 5:
		atm_dev->link_rate = buf[CXINF_DOWNSTREAM_RATE] * 1000 / 424;
		atm_dev->signal = ATM_PHY_SIG_FOUND;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_FOUND);

		atm_info(usbatm, "ADSL line: up (%d kb/s down | %d kb/s up)\n",
		     buf[CXINF_DOWNSTREAM_RATE], buf[CXINF_UPSTREAM_RATE]);
		break;

	case 6:
		atm_dev->signal = ATM_PHY_SIG_LOST;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_LOST);
		atm_info(usbatm, "ADSL line: waiting\n");
		break;

	case 7:
		atm_dev->signal = ATM_PHY_SIG_LOST;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_LOST);
		atm_info(usbatm, "ADSL line: initializing\n");
		break;

	default:
		atm_dev->signal = ATM_PHY_SIG_UNKNOWN;
		atm_dev_signal_change(atm_dev, ATM_PHY_SIG_UNKNOWN);
		atm_info(usbatm, "Unknown line state %02x\n", instance->line_status);
		break;
	}