aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/atm/ueagle-atm.c
diff options
context:
space:
mode:
authorKarl Hiramoto <karl@hiramoto.org>2010-07-08 16:55:38 -0400
committerDavid S. Miller <davem@davemloft.net>2010-07-09 03:09:24 -0400
commitcc7b86c1a8f207c8aa77aad6941475d8294a83c4 (patch)
tree796aa8dce98e2ed73fdefd27beca0ea31e244c77 /drivers/usb/atm/ueagle-atm.c
parent23f89f0488fa0fc843503fa07768d0d3edde3c44 (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>
Diffstat (limited to 'drivers/usb/atm/ueagle-atm.c')
-rw-r--r--drivers/usb/atm/ueagle-atm.c13
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));