summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorPierre Ossman <drzeus-list@drzeus.cx>2005-07-04 00:22:53 +0200
committerJeff Garzik <jgarzik@pobox.com>2005-08-18 16:59:14 -0400
commita4cf0761493495681d72dcc0b34efb86e94a5527 (patch)
treea053055cb2df4bbeaaed64a07421be492edd8088 /drivers
parent852ea22ab24df4c64c0211c3b6d6358eb0e759f9 (diff)
downloadkernel-crypto-a4cf0761493495681d72dcc0b34efb86e94a5527.tar.gz
kernel-crypto-a4cf0761493495681d72dcc0b34efb86e94a5527.tar.xz
kernel-crypto-a4cf0761493495681d72dcc0b34efb86e94a5527.zip
[PATCH] 8139cp - redetect link after suspend
After suspend the driver needs to retest link status in case the cable has been inserted or removed during the suspend. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/8139cp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c
index 7b293f01c9e..34b80de34fa 100644
--- a/drivers/net/8139cp.c
+++ b/drivers/net/8139cp.c
@@ -1897,6 +1897,7 @@ static int cp_resume (struct pci_dev *pdev)
{
struct net_device *dev;
struct cp_private *cp;
+ unsigned long flags;
dev = pci_get_drvdata (pdev);
cp = netdev_priv(dev);
@@ -1910,6 +1911,12 @@ static int cp_resume (struct pci_dev *pdev)
cp_init_hw (cp);
netif_start_queue (dev);
+
+ spin_lock_irqsave (&cp->lock, flags);
+
+ mii_check_media(&cp->mii_if, netif_msg_link(cp), FALSE);
+
+ spin_unlock_irqrestore (&cp->lock, flags);
return 0;
}