summaryrefslogtreecommitdiffstats
path: root/drivers/net/wan/c101.c
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2006-09-05 17:16:33 -0400
committerDave Jones <davej@redhat.com>2006-09-05 17:16:33 -0400
commit23e735bc7b0e1d614656881794257b4224efda3a (patch)
treed9523b531156fedb204e31b4612519b0a7a003e7 /drivers/net/wan/c101.c
parent3906f4edeef976c081c4e7bd92164d2f59c325ae (diff)
parentc336923b668fdcf0312efbec3b44895d713f4d81 (diff)
downloadop-kernel-dev-23e735bc7b0e1d614656881794257b4224efda3a.zip
op-kernel-dev-23e735bc7b0e1d614656881794257b4224efda3a.tar.gz
Merge ../linus
Diffstat (limited to 'drivers/net/wan/c101.c')
-rw-r--r--drivers/net/wan/c101.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/wan/c101.c b/drivers/net/wan/c101.c
index 435e91e..6b63b35 100644
--- a/drivers/net/wan/c101.c
+++ b/drivers/net/wan/c101.c
@@ -118,7 +118,7 @@ static inline void openwin(card_t *card, u8 page)
static inline void set_carrier(port_t *port)
{
- if (!sca_in(MSCI1_OFFSET + ST3, port) & ST3_DCD)
+ if (!(sca_in(MSCI1_OFFSET + ST3, port) & ST3_DCD))
netif_carrier_on(port_to_dev(port));
else
netif_carrier_off(port_to_dev(port));
@@ -127,10 +127,10 @@ static inline void set_carrier(port_t *port)
static void sca_msci_intr(port_t *port)
{
- u8 stat = sca_in(MSCI1_OFFSET + ST1, port); /* read MSCI ST1 status */
+ u8 stat = sca_in(MSCI0_OFFSET + ST1, port); /* read MSCI ST1 status */
- /* Reset MSCI TX underrun status bit */
- sca_out(stat & ST1_UDRN, MSCI0_OFFSET + ST1, port);
+ /* Reset MSCI TX underrun and CDCD (ignored) status bit */
+ sca_out(stat & (ST1_UDRN | ST1_CDCD), MSCI0_OFFSET + ST1, port);
if (stat & ST1_UDRN) {
struct net_device_stats *stats = hdlc_stats(port_to_dev(port));
@@ -138,6 +138,7 @@ static void sca_msci_intr(port_t *port)
stats->tx_fifo_errors++;
}
+ stat = sca_in(MSCI1_OFFSET + ST1, port); /* read MSCI1 ST1 status */
/* Reset MSCI CDCD status bit - uses ch#2 DCD input */
sca_out(stat & ST1_CDCD, MSCI1_OFFSET + ST1, port);
OpenPOWER on IntegriCloud