On Tue, Jun 25, 2013 at 9:31 PM, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > On Tue, Jun 25, 2013 at 09:15:47PM +0300, Andy Shevchenko wrote: >> On Tue, Jun 25, 2013 at 7:22 PM, Mika Westerberg >> <mika.westerberg@xxxxxxxxxxxxxxx> wrote: [] >> > +static acpi_status pcihp_evaluate_rmv(acpi_handle handle, u32 lvl, >> > + void *context, void **return_not_used) >> > +{ >> > + unsigned long long *removable = context; >> > + unsigned long long value; >> > + acpi_status status; >> > + >> > + status = acpi_evaluate_integer(handle, "_RMV", NULL, &value); >> > + if (ACPI_SUCCESS(status) && value) { >> >> So, there is a chance the caller gets back uninitialized *context. >> Let's assume that is by design. >> >> > + *removable = value; >> > + return AE_CTRL_TERMINATE; >> > + } >> > + return AE_OK; >> > +} >> >> >> > +static bool pcihp_is_removable(acpi_handle handle, size_t depth) >> > +{ >> > + unsigned long long removable = 0; >> > + acpi_status status; >> > + >> > + status = pcihp_evaluate_rmv(handle, 0, &removable, NULL); >> > + if ((status == AE_CTRL_TERMINATE) && removable) >> >> Here you already have removable not equal zero. > > Hmm, removable is initialized to zero just few lines above... Did I miss > something obvious? Yes, that's correct, however, you already did this check when you call evaluate_rmv. Thus, second check '&& removable' is not needed. -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html