* "e100_probe: Error clearing wake event" when booting 2.6.27-rc1
@ 2008-08-05 15:30 Alessandro Guido
2008-08-05 20:03 ` Rafael J. Wysocki
0 siblings, 1 reply; 9+ messages in thread
From: Alessandro Guido @ 2008-08-05 15:30 UTC (permalink / raw)
To: linux-kernel; +Cc: netdev
[please cc me on replies]
I'm getting this error message when booting my laptop.
The commit that causes this is:
commit eb9d0fe40e313c0a74115ef456a2e43a6c8da72f
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date: Mon Jul 7 03:34:48 2008 +0200
PCI ACPI: Rework PCI handling of wake-up
[very long commit message snipped]
Should I ignore that?
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: "e100_probe: Error clearing wake event" when booting 2.6.27-rc1 2008-08-05 15:30 "e100_probe: Error clearing wake event" when booting 2.6.27-rc1 Alessandro Guido @ 2008-08-05 20:03 ` Rafael J. Wysocki 2008-08-07 16:47 ` Jesse Barnes 0 siblings, 1 reply; 9+ messages in thread From: Rafael J. Wysocki @ 2008-08-05 20:03 UTC (permalink / raw) To: Alessandro Guido; +Cc: linux-kernel, netdev, Jesse Barnes, pm list On Tuesday, 5 of August 2008, Alessandro Guido wrote: > [please cc me on replies] > > I'm getting this error message when booting my laptop. > > The commit that causes this is: > > commit eb9d0fe40e313c0a74115ef456a2e43a6c8da72f > Author: Rafael J. Wysocki <rjw@sisk.pl> > Date: Mon Jul 7 03:34:48 2008 +0200 > > PCI ACPI: Rework PCI handling of wake-up > > [very long commit message snipped] > > Should I ignore that? The message is harmless, but it exposes the problem that e100_probe() should not use pci_enable_wake() for this purpose. The appended patch makes it use pci_pme_active() instead. Thanks, Rafael --- PCI PM: Export pci_pme_active to drivers Export pci_pme_active() to drivers, so that they can clear the PME_status bit and disable PME# for the device without involving ACPI. Modify the e100 driver to use pci_pme_active() for this purpose. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> --- drivers/net/e100.c | 4 +--- drivers/pci/pci.c | 3 ++- include/linux/pci.h | 1 + 3 files changed, 4 insertions(+), 4 deletions(-) Index: linux-2.6/drivers/pci/pci.c =================================================================== --- linux-2.6.orig/drivers/pci/pci.c +++ linux-2.6/drivers/pci/pci.c @@ -1060,7 +1060,7 @@ bool pci_pme_capable(struct pci_dev *dev * The caller must verify that the device is capable of generating PME# before * calling this function with @enable equal to 'true'. */ -static void pci_pme_active(struct pci_dev *dev, bool enable) +void pci_pme_active(struct pci_dev *dev, bool enable) { u16 pmcsr; @@ -1945,6 +1945,7 @@ EXPORT_SYMBOL(pci_set_power_state); EXPORT_SYMBOL(pci_save_state); EXPORT_SYMBOL(pci_restore_state); EXPORT_SYMBOL(pci_pme_capable); +EXPORT_SYMBOL(pci_pme_active); EXPORT_SYMBOL(pci_enable_wake); EXPORT_SYMBOL(pci_target_state); EXPORT_SYMBOL(pci_prepare_to_sleep); Index: linux-2.6/include/linux/pci.h =================================================================== --- linux-2.6.orig/include/linux/pci.h +++ linux-2.6/include/linux/pci.h @@ -648,6 +648,7 @@ int pci_restore_state(struct pci_dev *de int pci_set_power_state(struct pci_dev *dev, pci_power_t state); pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state); bool pci_pme_capable(struct pci_dev *dev, pci_power_t state); +void pci_pme_active(struct pci_dev *dev, bool enable); int pci_enable_wake(struct pci_dev *dev, pci_power_t state, int enable); pci_power_t pci_target_state(struct pci_dev *dev); int pci_prepare_to_sleep(struct pci_dev *dev); Index: linux-2.6/drivers/net/e100.c =================================================================== --- linux-2.6.orig/drivers/net/e100.c +++ linux-2.6/drivers/net/e100.c @@ -2738,9 +2738,7 @@ static int __devinit e100_probe(struct p nic->flags |= wol_magic; /* ack any pending wake events, disable PME */ - err = pci_enable_wake(pdev, 0, 0); - if (err) - DPRINTK(PROBE, ERR, "Error clearing wake event\n"); + pci_pme_active(pdev, false); strcpy(netdev->name, "eth%d"); if((err = register_netdev(netdev))) { ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "e100_probe: Error clearing wake event" when booting 2.6.27-rc1 2008-08-05 20:03 ` Rafael J. Wysocki @ 2008-08-07 16:47 ` Jesse Barnes 2008-08-07 22:00 ` Rafael J. Wysocki 0 siblings, 1 reply; 9+ messages in thread From: Jesse Barnes @ 2008-08-07 16:47 UTC (permalink / raw) To: Rafael J. Wysocki; +Cc: Alessandro Guido, linux-kernel, netdev, pm list On Tuesday, August 5, 2008 1:03 pm Rafael J. Wysocki wrote: > On Tuesday, 5 of August 2008, Alessandro Guido wrote: > > [please cc me on replies] > > > > I'm getting this error message when booting my laptop. > > > > The commit that causes this is: > > > > commit eb9d0fe40e313c0a74115ef456a2e43a6c8da72f > > Author: Rafael J. Wysocki <rjw@sisk.pl> > > Date: Mon Jul 7 03:34:48 2008 +0200 > > > > PCI ACPI: Rework PCI handling of wake-up > > > > [very long commit message snipped] > > > > Should I ignore that? > > The message is harmless, but it exposes the problem that e100_probe() > should not use pci_enable_wake() for this purpose. > > The appended patch makes it use pci_pme_active() instead. I can take the pci_pme_active bits, but the e100 stuff should go in through Jeff probably. Care to respin? Thanks, Jesse ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "e100_probe: Error clearing wake event" when booting 2.6.27-rc1 2008-08-07 16:47 ` Jesse Barnes @ 2008-08-07 22:00 ` Rafael J. Wysocki 2008-08-07 22:14 ` [PATCH] PCI PM: Export pci_pme_active to drivers Rafael J. Wysocki 0 siblings, 1 reply; 9+ messages in thread From: Rafael J. Wysocki @ 2008-08-07 22:00 UTC (permalink / raw) To: Jesse Barnes; +Cc: Alessandro Guido, linux-kernel, netdev, pm list On Thursday, 7 of August 2008, Jesse Barnes wrote: > On Tuesday, August 5, 2008 1:03 pm Rafael J. Wysocki wrote: > > On Tuesday, 5 of August 2008, Alessandro Guido wrote: > > > [please cc me on replies] > > > > > > I'm getting this error message when booting my laptop. > > > > > > The commit that causes this is: > > > > > > commit eb9d0fe40e313c0a74115ef456a2e43a6c8da72f > > > Author: Rafael J. Wysocki <rjw@sisk.pl> > > > Date: Mon Jul 7 03:34:48 2008 +0200 > > > > > > PCI ACPI: Rework PCI handling of wake-up > > > > > > [very long commit message snipped] > > > > > > Should I ignore that? > > > > The message is harmless, but it exposes the problem that e100_probe() > > should not use pci_enable_wake() for this purpose. > > > > The appended patch makes it use pci_pme_active() instead. > > I can take the pci_pme_active bits, but the e100 stuff should go in through > Jeff probably. Care to respin? Sure, in replies to this message. Thanks, Rafael ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] PCI PM: Export pci_pme_active to drivers 2008-08-07 22:00 ` Rafael J. Wysocki @ 2008-08-07 22:14 ` Rafael J. Wysocki 2008-08-07 22:18 ` [PATCH] e100: Use pci_pme_active to clear PME_Status and disable PME# Rafael J. Wysocki 2008-08-07 22:34 ` [PATCH] PCI PM: Export pci_pme_active to drivers Jesse Barnes 0 siblings, 2 replies; 9+ messages in thread From: Rafael J. Wysocki @ 2008-08-07 22:14 UTC (permalink / raw) To: Jesse Barnes; +Cc: Alessandro Guido, linux-kernel, netdev, pm list PCI PM: Export pci_pme_active to drivers Export pci_pme_active() to drivers, so that they can clear the PME_status bit and disable PME# for their devices without involving ACPI. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> --- drivers/pci/pci.c | 3 ++- include/linux/pci.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) Index: linux-2.6/drivers/pci/pci.c =================================================================== --- linux-2.6.orig/drivers/pci/pci.c +++ linux-2.6/drivers/pci/pci.c @@ -1060,7 +1060,7 @@ bool pci_pme_capable(struct pci_dev *dev * The caller must verify that the device is capable of generating PME# before * calling this function with @enable equal to 'true'. */ -static void pci_pme_active(struct pci_dev *dev, bool enable) +void pci_pme_active(struct pci_dev *dev, bool enable) { u16 pmcsr; @@ -1941,6 +1941,7 @@ EXPORT_SYMBOL(pci_set_power_state); EXPORT_SYMBOL(pci_save_state); EXPORT_SYMBOL(pci_restore_state); EXPORT_SYMBOL(pci_pme_capable); +EXPORT_SYMBOL(pci_pme_active); EXPORT_SYMBOL(pci_enable_wake); EXPORT_SYMBOL(pci_target_state); EXPORT_SYMBOL(pci_prepare_to_sleep); Index: linux-2.6/include/linux/pci.h =================================================================== --- linux-2.6.orig/include/linux/pci.h +++ linux-2.6/include/linux/pci.h @@ -641,6 +641,7 @@ int pci_restore_state(struct pci_dev *de int pci_set_power_state(struct pci_dev *dev, pci_power_t state); pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state); bool pci_pme_capable(struct pci_dev *dev, pci_power_t state); +void pci_pme_active(struct pci_dev *dev, bool enable); int pci_enable_wake(struct pci_dev *dev, pci_power_t state, int enable); pci_power_t pci_target_state(struct pci_dev *dev); int pci_prepare_to_sleep(struct pci_dev *dev); ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] e100: Use pci_pme_active to clear PME_Status and disable PME# 2008-08-07 22:14 ` [PATCH] PCI PM: Export pci_pme_active to drivers Rafael J. Wysocki @ 2008-08-07 22:18 ` Rafael J. Wysocki 2008-09-13 20:15 ` Jeff Garzik 2008-08-07 22:34 ` [PATCH] PCI PM: Export pci_pme_active to drivers Jesse Barnes 1 sibling, 1 reply; 9+ messages in thread From: Rafael J. Wysocki @ 2008-08-07 22:18 UTC (permalink / raw) To: Jesse Barnes; +Cc: Alessandro Guido, linux-kernel, netdev, pm list, Jeff Garzik e100: Use pci_pme_active to clear PME_Status and disable PME# Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> --- drivers/net/e100.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Index: linux-2.6/drivers/net/e100.c =================================================================== --- linux-2.6.orig/drivers/net/e100.c +++ linux-2.6/drivers/net/e100.c @@ -2738,9 +2738,7 @@ static int __devinit e100_probe(struct p nic->flags |= wol_magic; /* ack any pending wake events, disable PME */ - err = pci_enable_wake(pdev, 0, 0); - if (err) - DPRINTK(PROBE, ERR, "Error clearing wake event\n"); + pci_pme_active(pdev, false); strcpy(netdev->name, "eth%d"); if((err = register_netdev(netdev))) { ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] e100: Use pci_pme_active to clear PME_Status and disable PME# 2008-08-07 22:18 ` [PATCH] e100: Use pci_pme_active to clear PME_Status and disable PME# Rafael J. Wysocki @ 2008-09-13 20:15 ` Jeff Garzik 2008-09-14 23:44 ` Rafael J. Wysocki 0 siblings, 1 reply; 9+ messages in thread From: Jeff Garzik @ 2008-09-13 20:15 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Jesse Barnes, Alessandro Guido, linux-kernel, netdev, pm list Rafael J. Wysocki wrote: > e100: Use pci_pme_active to clear PME_Status and disable PME# > > Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> > > --- > drivers/net/e100.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > Index: linux-2.6/drivers/net/e100.c > =================================================================== > --- linux-2.6.orig/drivers/net/e100.c > +++ linux-2.6/drivers/net/e100.c > @@ -2738,9 +2738,7 @@ static int __devinit e100_probe(struct p > nic->flags |= wol_magic; > > /* ack any pending wake events, disable PME */ > - err = pci_enable_wake(pdev, 0, 0); > - if (err) > - DPRINTK(PROBE, ERR, "Error clearing wake event\n"); > + pci_pme_active(pdev, false); Since I am rusty on my PCI... why is this needed? ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] e100: Use pci_pme_active to clear PME_Status and disable PME# 2008-09-13 20:15 ` Jeff Garzik @ 2008-09-14 23:44 ` Rafael J. Wysocki 0 siblings, 0 replies; 9+ messages in thread From: Rafael J. Wysocki @ 2008-09-14 23:44 UTC (permalink / raw) To: Jeff Garzik; +Cc: Jesse Barnes, Alessandro Guido, linux-kernel, netdev, pm list On Saturday, 13 of September 2008, Jeff Garzik wrote: > Rafael J. Wysocki wrote: > > e100: Use pci_pme_active to clear PME_Status and disable PME# > > > > Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> > > > > --- > > drivers/net/e100.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > Index: linux-2.6/drivers/net/e100.c > > =================================================================== > > --- linux-2.6.orig/drivers/net/e100.c > > +++ linux-2.6/drivers/net/e100.c > > @@ -2738,9 +2738,7 @@ static int __devinit e100_probe(struct p > > nic->flags |= wol_magic; > > > > /* ack any pending wake events, disable PME */ > > - err = pci_enable_wake(pdev, 0, 0); > > - if (err) > > - DPRINTK(PROBE, ERR, "Error clearing wake event\n"); > > + pci_pme_active(pdev, false); > > Since I am rusty on my PCI... why is this needed? Because we just want to clear PME_Status and disable PME#, but pci_enable_wake() involves an ACPI call and generally depends on the dev->power.can_wakeup and dev->power.should_wakeup flags being set. The patch I sent here http://marc.info/?l=linux-kernel&m=122096638020191&w=4 has a better changelog. Thanks, Rafael ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] PCI PM: Export pci_pme_active to drivers 2008-08-07 22:14 ` [PATCH] PCI PM: Export pci_pme_active to drivers Rafael J. Wysocki 2008-08-07 22:18 ` [PATCH] e100: Use pci_pme_active to clear PME_Status and disable PME# Rafael J. Wysocki @ 2008-08-07 22:34 ` Jesse Barnes 1 sibling, 0 replies; 9+ messages in thread From: Jesse Barnes @ 2008-08-07 22:34 UTC (permalink / raw) To: Rafael J. Wysocki; +Cc: Alessandro Guido, linux-kernel, netdev, pm list On Thursday, August 7, 2008 3:14 pm Rafael J. Wysocki wrote: > PCI PM: Export pci_pme_active to drivers > > Export pci_pme_active() to drivers, so that they can clear the > PME_status bit and disable PME# for their devices without involving > ACPI. Cool, applied. Thanks Rafael. Jesse ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-09-14 23:44 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-08-05 15:30 "e100_probe: Error clearing wake event" when booting 2.6.27-rc1 Alessandro Guido 2008-08-05 20:03 ` Rafael J. Wysocki 2008-08-07 16:47 ` Jesse Barnes 2008-08-07 22:00 ` Rafael J. Wysocki 2008-08-07 22:14 ` [PATCH] PCI PM: Export pci_pme_active to drivers Rafael J. Wysocki 2008-08-07 22:18 ` [PATCH] e100: Use pci_pme_active to clear PME_Status and disable PME# Rafael J. Wysocki 2008-09-13 20:15 ` Jeff Garzik 2008-09-14 23:44 ` Rafael J. Wysocki 2008-08-07 22:34 ` [PATCH] PCI PM: Export pci_pme_active to drivers Jesse Barnes
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).