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. -- With Best Regards, Andy Shevchenko