Skip to contentSkip to conversation

WAN: fix C101 card carrier handling

PATCH In review Krzysztof Halasa 2 participants 3 messages Aug 22, 2006 – Aug 24, 2006

Subsystems (3)
lore
Share & tools
lore

Krzysztof Halasa

author maintainer
#0 lore raw

PATCH 1/1 WAN: fix C101 card carrier handling

Hi,

One of my recent changes broke C101 carrier handling, this patch fixes it. Also fixes an old TX underrun checking bug.

2.6.18 material. Please apply.
Thanks.

drivers/net/wan/c101.c +5 -4
index 435e91e..6b63b35 100644
@@ -118,7 +118,7 @@ #include "hd6457x.c"
 
 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 *p
 
 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);
 
#1 lore raw
Quoted 6 lines · Krzysztof Halasa

Hi,

One of my recent changes broke C101 carrier handling, this patch fixes it. Also fixes an old TX underrun checking bug.

2.6.18 material. Please apply.

it's already in netdev-2.6.git#upstream-fixes, destined for 2.6.18.

Jeff

author maintainer
#2 lore raw
Quoted 5 lines · Jeff Garzik
Quoted 3 lines

One of my recent changes broke C101 carrier handling, this patch fixes it. Also fixes an old TX underrun checking bug. 2.6.18 material. Please apply.

it's already in netdev-2.6.git#upstream-fixes, destined for 2.6.18.

Great, I somehow missed it. Thank you.

Signature · 1 line
Krzysztof Halasa