lkml.org 
[lkml]   [2005]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: 2.4.29, e100 and a WOL packet causes keventd going mad
    From
    Date
    Hi.

    Do you also disable the WOL event when resuming?

    Regards,

    Nigel

    On Mon, 2005-01-31 at 14:47, Scott Feldman wrote:
    > On Sun, 2005-01-30 at 09:18, David Härdeman wrote:
    > > I experience the same problems as reported by Michael Gernoth when
    > > sending a WOL-packet to computer with a e100 NIC which is already
    > > powered on.
    >
    > I didn't look at the 2.4 case, but for 2.6, it seems e100 was enabling
    > PME wakeup during probe. PME shouldn't be enabled while the system is
    > up. I suspect the assertion of PME while the system is up is what's
    > causing problems. This patch moves PME wakeup enabling to either
    > suspend or shutdown.
    >
    > David, would you give this patch a try? Make sure the system still
    > wakes from a magic packet if suspended or shut down, and doesn't cause
    > kacpid to go crazy if system is running. If it helps for 2.6, perhaps
    > someone can look into 2.4 to see if there is something similar going on
    > there.
    >
    > -scott
    >
    > --- linux-2.6.11-rc2/drivers/net/e100.c.orig 2005-01-30 19:13:56.850497376 -0800
    > +++ linux-2.6.11-rc2/drivers/net/e100.c 2005-01-30 19:26:41.154305536 -0800
    > @@ -1868,7 +1868,6 @@ static int e100_set_wol(struct net_devic
    > else
    > nic->flags &= ~wol_magic;
    >
    > - pci_enable_wake(nic->pdev, 0, nic->flags & (wol_magic | e100_asf(nic)));
    > e100_exec_cb(nic, NULL, e100_configure);
    >
    > return 0;
    > @@ -2262,8 +2261,6 @@ static int __devinit e100_probe(struct p
    > (nic->eeprom[eeprom_id] & eeprom_id_wol))
    > nic->flags |= wol_magic;
    >
    > - pci_enable_wake(pdev, 0, nic->flags & (wol_magic | e100_asf(nic)));
    > -
    > strcpy(netdev->name, "eth%d");
    > if((err = register_netdev(netdev))) {
    > DPRINTK(PROBE, ERR, "Cannot register net device, aborting.\n");
    > @@ -2344,6 +2341,15 @@ static int e100_resume(struct pci_dev *p
    > }
    > #endif
    >
    > +static void e100_shutdown(struct device *dev)
    > +{
    > + struct pci_dev *pdev = container_of(dev, struct pci_dev, dev);
    > + struct net_device *netdev = pci_get_drvdata(pdev);
    > + struct nic *nic = netdev_priv(netdev);
    > +
    > + pci_enable_wake(pdev, 0, nic->flags & (wol_magic | e100_asf(nic)));
    > +}
    > +
    > static struct pci_driver e100_driver = {
    > .name = DRV_NAME,
    > .id_table = e100_id_table,
    > @@ -2353,6 +2359,9 @@ static struct pci_driver e100_driver = {
    > .suspend = e100_suspend,
    > .resume = e100_resume,
    > #endif
    > + .driver = {
    > + .shutdown = e100_shutdown,
    > + }
    > };
    >
    > static int __init e100_init_module(void)
    >
    >
    >
    > -
    > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    > Please read the FAQ at http://www.tux.org/lkml/
    --
    Nigel Cunningham
    Software Engineer, Canberra, Australia
    http://www.cyclades.com

    Ph: +61 (2) 6292 8028 Mob: +61 (417) 100 574

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:10    [W:0.029 / U:1.628 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site