Re: [PATCH] PCI / PM: Remove unnecessary error variable from acpi_dev_run_wake()

From: Rafael J. Wysocki
Date: Wed Sep 28 2011 - 15:42:29 EST


On Wednesday, September 28, 2011, Bjorn Helgaas wrote:
> On Tue, Sep 27, 2011 at 4:01 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> > From: Rafael J. Wysocki <rjw@xxxxxxx>
> >
> > The error variable in acpi_dev_run_wake() is not really used, so
> > remove it.
> >
> > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> > ---
> > drivers/pci/pci-acpi.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > Index: linux/drivers/pci/pci-acpi.c
> > ===================================================================
> > --- linux.orig/drivers/pci/pci-acpi.c
> > +++ linux/drivers/pci/pci-acpi.c
> > @@ -282,7 +282,6 @@ static int acpi_dev_run_wake(struct devi
> > {
> > struct acpi_device *dev;
> > acpi_handle handle;
> > - int error = -ENODEV;
> >
> > if (!device_run_wake(phys_dev))
> > return -EINVAL;
> > @@ -302,7 +301,7 @@ static int acpi_dev_run_wake(struct devi
> > acpi_disable_wakeup_device_power(dev);
> > }
> >
> > - return error;
> > + return 0;
> > }
> >
> > static void acpi_pci_propagate_run_wake(struct pci_bus *bus, bool enable)
>
> This looks like the right thing to do, but the current changelog
> suggests that we're just removing unused code.
>
> But in fact, we'll now return 0 (success) when we used to return
> -ENODEV, so the behavior of the callers will change (probably fixing
> some bugs). Do you want to mention that in the changelog as well?

Yes, good idea.

> I'm assuming this is for the 3.2 merge window, since it doesn't look
> like a regression fix.

Yes, it's 3.2 material.

Below is an updated patch.

Thanks,
Rafael

---
From: Rafael J. Wysocki <rjw@xxxxxxx>
Subject: PCI / PM: Return correct result from acpi_dev_run_wake()

The result returned by acpi_dev_run_wake() is always either -EINVAL
or -ENODEV, while obviously it should return 0 on success. The
problem is that the leftover error variable, that's not really used
in the function, is initialized with -ENODEV and then returned
without modification.

To fix this issue remove the error variable from acpi_dev_run_wake()
and make the function return 0 on success as appropriate.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---
drivers/pci/pci-acpi.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

Index: linux/drivers/pci/pci-acpi.c
===================================================================
--- linux.orig/drivers/pci/pci-acpi.c
+++ linux/drivers/pci/pci-acpi.c
@@ -282,7 +282,6 @@ static int acpi_dev_run_wake(struct devi
{
struct acpi_device *dev;
acpi_handle handle;
- int error = -ENODEV;

if (!device_run_wake(phys_dev))
return -EINVAL;
@@ -302,7 +301,7 @@ static int acpi_dev_run_wake(struct devi
acpi_disable_wakeup_device_power(dev);
}

- return error;
+ return 0;
}

static void acpi_pci_propagate_run_wake(struct pci_bus *bus, bool enable)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/