Skip to content

Commit

Permalink
[PATCH] 3c59x: carriercheck for forced media
Browse files Browse the repository at this point in the history
Handle netif_carrier_{on,of} also if media is forced to 10baseT/100baseTx.

Signed-off-by: Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Steffen Klassert authored and Linus Torvalds committed Mar 26, 2006
1 parent b4ff645 commit e94d10e
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/net/3c59x.c
Original file line number Diff line number Diff line change
Expand Up @@ -1907,8 +1907,6 @@ vortex_timer(unsigned long data)
printk(KERN_DEBUG "dev->watchdog_timeo=%d\n", dev->watchdog_timeo);
}

if (vp->medialock)
goto leave_media_alone;
disable_irq(dev->irq);
old_window = ioread16(ioaddr + EL3_CMD) >> 13;
EL3WINDOW(4);
Expand Down Expand Up @@ -1947,6 +1945,9 @@ vortex_timer(unsigned long data)
if (!netif_carrier_ok(dev))
next_tick = 5*HZ;

if (vp->medialock)
goto leave_media_alone;

if ( ! ok) {
unsigned int config;

Expand Down Expand Up @@ -1980,14 +1981,14 @@ vortex_timer(unsigned long data)
printk(KERN_DEBUG "wrote 0x%08x to Wn3_Config\n", config);
/* AKPM: FIXME: Should reset Rx & Tx here. P60 of 3c90xc.pdf */
}
EL3WINDOW(old_window);
enable_irq(dev->irq);

leave_media_alone:
if (vortex_debug > 2)
printk(KERN_DEBUG "%s: Media selection timer finished, %s.\n",
dev->name, media_tbl[dev->if_port].name);

EL3WINDOW(old_window);
enable_irq(dev->irq);
mod_timer(&vp->timer, RUN_AT(next_tick));
if (vp->deferred)
iowrite16(FakeIntr, ioaddr + EL3_CMD);
Expand Down

0 comments on commit e94d10e

Please sign in to comment.