From: Pekka Pietikainen <pp@ee.oulu.fi>
To: Charles Bueche <charles@bueche.ch>
Cc: netdev@oss.sgi.com
Subject: Re: changing MTU on b44 breaks eth0
Date: Mon, 3 Nov 2003 22:53:35 +0200 [thread overview]
Message-ID: <20031103205335.GA7668@ee.oulu.fi> (raw)
In-Reply-To: <1067888106.3366.20.camel@bluez.bueche.ch>
On Mon, Nov 03, 2003 at 08:35:38PM +0100, Charles Bueche wrote:
> Hi,
>
> I tried to reduce the MTU to 1464 because I'm behind an ADSL router.
> Rigth when I do the "ifconfig eth0 192.168.0.4 mtu 1464", it hangs the
> port.
> The problem can be reproduced. I have attached a few log extracts. I
> would be ready to test patches or new versions if needed.
Heh
Thanks for the report. Looking at the code and previous bugs in it, I can
safely say I found the problem and a few similar ones that could be
triggered when using ethtool :-)
Anyway, here's a (untested) patch that should fix the problem. As a bonus I
even snuck in a new feature, power management support!
--- /usr/src/linux-2.6.0-0.test9.1.67/drivers/net/b44.c 2003-10-25 21:43:30.000000000 +0300
+++ linux-2.6.0-test9/drivers/net/b44.c 2003-11-03 22:25:15.943854312 +0200
@@ -25,8 +25,8 @@
#define DRV_MODULE_NAME "b44"
#define PFX DRV_MODULE_NAME ": "
-#define DRV_MODULE_VERSION "0.91"
-#define DRV_MODULE_RELDATE "Oct 3, 2003"
+#define DRV_MODULE_VERSION "0.92"
+#define DRV_MODULE_RELDATE "Nov 3, 2003"
#define B44_DEF_MSG_ENABLE \
(NETIF_MSG_DRV | \
@@ -942,6 +942,8 @@
b44_init_hw(bp);
spin_unlock_irq(&bp->lock);
+ b44_enable_ints(bp);
+
return 0;
}
@@ -1558,6 +1560,8 @@
netif_wake_queue(bp->dev);
spin_unlock_irq(&bp->lock);
+ b44_enable_ints(bp);
+
return 0;
}
case ETHTOOL_GPAUSEPARAM: {
@@ -1601,6 +1605,8 @@
}
spin_unlock_irq(&bp->lock);
+ b44_enable_ints(bp);
+
return 0;
}
};
@@ -1852,11 +1858,57 @@
}
}
+#ifdef CONFIG_PM
+static int b44_suspend(struct pci_dev *pdev, u32 state)
+{
+ struct net_device *dev = pci_get_drvdata(pdev);
+ struct b44 *bp = dev->priv;
+
+ if (!netif_running(dev))
+ return 0;
+
+ del_timer_sync(&bp->timer);
+
+ spin_lock_irq(&bp->lock);
+
+ b44_halt(bp);
+ netif_carrier_off(bp->dev);
+ netif_device_detach(bp->dev);
+ b44_free_rings(bp);
+
+ spin_unlock_irq(&bp->lock);
+ return 0;
+}
+
+static int b44_resume(struct pci_dev *pdev)
+{
+ struct net_device *dev = pci_get_drvdata(pdev);
+ struct b44 *bp = dev->priv;
+
+ if (!netif_running(dev))
+ return 0;
+
+ spin_lock_irq(&bp->lock);
+
+ b44_init_rings(bp);
+ b44_init_hw(bp);
+ netif_device_attach(bp->dev);
+ spin_unlock_irq(&bp->lock);
+
+ b44_enable_ints(bp);
+ return 0;
+}
+#endif /* CONFIG_PM */
+
static struct pci_driver b44_driver = {
.name = DRV_MODULE_NAME,
.id_table = b44_pci_tbl,
.probe = b44_init_one,
.remove = __devexit_p(b44_remove_one),
+#ifdef CONFIG_PM
+ .suspend = b44_suspend,
+ .resume = b44_resume,
+#endif /* CONFIG_PM */
};
static int __init b44_init(void)
next parent reply other threads:[~2003-11-03 20:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1067888106.3366.20.camel@bluez.bueche.ch>
2003-11-03 20:53 ` Pekka Pietikainen [this message]
2003-11-03 23:16 ` changing MTU on b44 breaks eth0 David S. Miller
2003-11-04 11:15 ` Pekka Pietikainen
2003-11-04 17:13 ` David S. Miller
2003-11-04 21:19 ` Pekka Pietikainen
2003-11-04 21:20 ` David S. Miller
2003-11-05 21:36 ` Jeff Garzik
2003-11-05 21:35 ` David S. Miller
2003-11-06 22:02 ` Charles Bueche
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20031103205335.GA7668@ee.oulu.fi \
--to=pp@ee.oulu.fi \
--cc=charles@bueche.ch \
--cc=netdev@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).