diff options
author | Karl Hiramoto <karl@hiramoto.org> | 2010-07-08 16:55:38 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-09 03:09:24 -0400 |
commit | cc7b86c1a8f207c8aa77aad6941475d8294a83c4 (patch) | |
tree | 796aa8dce98e2ed73fdefd27beca0ea31e244c77 | |
parent | 23f89f0488fa0fc843503fa07768d0d3edde3c44 (diff) |
usb/atm/ueagle-atm.c: call atm_dev_signal_change() when signal changes.
Propagate signal changes to upper atm layer.
Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/usb/atm/ueagle-atm.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c index e213d3fa4920..ebae94480140 100644 --- a/drivers/usb/atm/ueagle-atm.c +++ b/drivers/usb/atm/ueagle-atm.c | |||
@@ -575,6 +575,13 @@ MODULE_PARM_DESC(annex, | |||
575 | sc->usbatm->atm_dev->type = val; \ | 575 | sc->usbatm->atm_dev->type = val; \ |
576 | } while (0) | 576 | } while (0) |
577 | 577 | ||
578 | #define UPDATE_ATM_SIGNAL(val) \ | ||
579 | do { \ | ||
580 | if (sc->usbatm->atm_dev) \ | ||
581 | atm_dev_signal_change(sc->usbatm->atm_dev, val); \ | ||
582 | } while (0) | ||
583 | |||
584 | |||
578 | /* Firmware loading */ | 585 | /* Firmware loading */ |
579 | #define LOAD_INTERNAL 0xA0 | 586 | #define LOAD_INTERNAL 0xA0 |
580 | #define F8051_USBCS 0x7f92 | 587 | #define F8051_USBCS 0x7f92 |
@@ -1359,7 +1366,7 @@ static int uea_stat_e1(struct uea_softc *sc) | |||
1359 | /* always update it as atm layer could not be init when we switch to | 1366 | /* always update it as atm layer could not be init when we switch to |
1360 | * operational state | 1367 | * operational state |
1361 | */ | 1368 | */ |
1362 | UPDATE_ATM_STAT(signal, ATM_PHY_SIG_FOUND); | 1369 | UPDATE_ATM_SIGNAL(ATM_PHY_SIG_FOUND); |
1363 | 1370 | ||
1364 | /* wake up processes waiting for synchronization */ | 1371 | /* wake up processes waiting for synchronization */ |
1365 | wake_up(&sc->sync_q); | 1372 | wake_up(&sc->sync_q); |
@@ -1498,7 +1505,7 @@ static int uea_stat_e4(struct uea_softc *sc) | |||
1498 | /* always update it as atm layer could not be init when we switch to | 1505 | /* always update it as atm layer could not be init when we switch to |
1499 | * operational state | 1506 | * operational state |
1500 | */ | 1507 | */ |
1501 | UPDATE_ATM_STAT(signal, ATM_PHY_SIG_FOUND); | 1508 | UPDATE_ATM_SIGNAL(ATM_PHY_SIG_FOUND); |
1502 | 1509 | ||
1503 | /* wake up processes waiting for synchronization */ | 1510 | /* wake up processes waiting for synchronization */ |
1504 | wake_up(&sc->sync_q); | 1511 | wake_up(&sc->sync_q); |
@@ -1825,7 +1832,7 @@ static int uea_start_reset(struct uea_softc *sc) | |||
1825 | * So we will failed to wait Ready CMV. | 1832 | * So we will failed to wait Ready CMV. |
1826 | */ | 1833 | */ |
1827 | sc->cmv_ack = 0; | 1834 | sc->cmv_ack = 0; |
1828 | UPDATE_ATM_STAT(signal, ATM_PHY_SIG_LOST); | 1835 | UPDATE_ATM_SIGNAL(ATM_PHY_SIG_LOST); |
1829 | 1836 | ||
1830 | /* reset statistics */ | 1837 | /* reset statistics */ |
1831 | memset(&sc->stats, 0, sizeof(struct uea_stats)); | 1838 | memset(&sc->stats, 0, sizeof(struct uea_stats)); |