On Wed, Apr 19, 2017 at 7:24 PM, Carlo Caione <carlo@xxxxxxxxxxxx> wrote: > On Wed, Apr 19, 2017 at 6:21 PM, Andy Shevchenko > <andy.shevchenko@xxxxxxxxx> wrote: >> On Sun, Apr 9, 2017 at 4:56 PM, Carlo Caione <carlo@xxxxxxxxxx> wrote: >>> From: Carlo Caione <carlo@xxxxxxxxxxxx> >>> >>> hp_wmi_tablet_state() fails to return the correct error code when >>> hp_wmi_perform_query() returns the HP WMI query specific error code >>> that is a positive value. >> >>> int ret = hp_wmi_perform_query(HPWMI_HARDWARE_QUERY, 0, &state, >>> sizeof(state), sizeof(state)); >>> if (ret) >>> - return ret; >>> + return -EINVAL; >> >> Shouldn't be something like >> >> if (ret) >> return ret < 0 ? ret : -EINVAL; >> >> Looking into the code it looks like it may return all possible values: >> 0, negative, positive. > > When the HP WMI query returns a positive value something went wrong. > hp_wmi_perform_query() returns 0 on success. Yes, that's what I didn't object anyhow. My point is not to shadow negative errors if any. -- With Best Regards, Andy Shevchenko