[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-netdev
Subject: Re: Patch: netif_carrier_on()/off() for xircom_tulip_cb
From: Stefan Rompf <srompf () isg ! de>
Date: 2004-02-20 16:23:00
Message-ID: 200402201723.00916.srompf () isg ! de
[Download RAW message or body]
> Please resend patches that may be applied with "patch -p1",
> not "patch -p0".
and here the netif_carrier-stuff, this time with attachment.
Stefan
["xircom_tulip_cb_lw.diff" (text/x-diff)]
--- jeffdir/drivers/net/tulip/xircom_tulip_cb.c.pm 2004-02-15 13:07:49.000000000 +0100
+++ jeffdir/drivers/net/tulip/xircom_tulip_cb.c 2004-02-15 13:58:06.000000000 +0100
@@ -343,6 +343,7 @@ static void xircom_tx_timeout(struct net
static void xircom_init_ring(struct net_device *dev);
static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev);
static int xircom_rx(struct net_device *dev);
+static void xircom_media_change(struct net_device *dev);
static irqreturn_t xircom_interrupt(int irq, void *dev_instance, struct pt_regs *regs);
static int xircom_close(struct net_device *dev);
static struct net_device_stats *xircom_get_stats(struct net_device *dev);
@@ -789,6 +790,9 @@ xircom_up(struct net_device *dev)
/* Tell the net layer we're ready */
netif_start_queue (dev);
+ /* Check current media state */
+ xircom_media_change(dev);
+
if (xircom_debug > 2) {
printk(KERN_DEBUG "%s: Done xircom_up(), CSR0 %8.8x, CSR5 %8.8x CSR6 %8.8x.\n",
dev->name, inl(ioaddr + CSR0), inl(ioaddr + CSR5),
@@ -1013,6 +1017,7 @@ static void xircom_media_change(struct n
dev->name,
tp->speed100 ? "100" : "10",
tp->full_duplex ? "full" : "half");
+ netif_carrier_on(dev);
newcsr6 = csr6 & ~FullDuplexBit;
if (tp->full_duplex)
newcsr6 |= FullDuplexBit;
@@ -1020,6 +1025,7 @@ static void xircom_media_change(struct n
outl_CSR6(newcsr6, ioaddr + CSR6);
} else {
printk(KERN_DEBUG "%s: Link is down\n", dev->name);
+ netif_carrier_off(dev);
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic