Message ID | 20240304221732.39272-2-W_Armin@gmx.de (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | [1/2] platform/x86: wmi: Support reading/writing 16 bit EC values | expand |
Hi, On 3/4/24 23:17, Armin Wolf wrote: > If an error code other than EINVAL, ENODEV or ETIME is returned > by ec_read()/ec_write(), then AE_OK is wrongly returned. > > Fix this by only returning AE_OK if the return code is 0, and > return AE_ERROR otherwise. > > Tested on a Dell Inspiron 3505 and a Asus Prime B650-Plus. > > Signed-off-by: Armin Wolf <W_Armin@gmx.de> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@redhat.com> Regards, Hans > --- > drivers/platform/x86/wmi.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c > index 900e0e52a5fa..be0e772a87c8 100644 > --- a/drivers/platform/x86/wmi.c > +++ b/drivers/platform/x86/wmi.c > @@ -1213,8 +1213,10 @@ acpi_wmi_ec_space_handler(u32 function, acpi_physical_address address, > return AE_NOT_FOUND; > case -ETIME: > return AE_TIME; > - default: > + case 0: > return AE_OK; > + default: > + return AE_ERROR; > } > } > > -- > 2.39.2 >
On Mon, 4 Mar 2024, Armin Wolf wrote: > If an error code other than EINVAL, ENODEV or ETIME is returned > by ec_read()/ec_write(), then AE_OK is wrongly returned. > > Fix this by only returning AE_OK if the return code is 0, and > return AE_ERROR otherwise. > > Tested on a Dell Inspiron 3505 and a Asus Prime B650-Plus. > > Signed-off-by: Armin Wolf <W_Armin@gmx.de> > --- > drivers/platform/x86/wmi.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c > index 900e0e52a5fa..be0e772a87c8 100644 > --- a/drivers/platform/x86/wmi.c > +++ b/drivers/platform/x86/wmi.c > @@ -1213,8 +1213,10 @@ acpi_wmi_ec_space_handler(u32 function, acpi_physical_address address, > return AE_NOT_FOUND; > case -ETIME: > return AE_TIME; > - default: > + case 0: > return AE_OK; > + default: > + return AE_ERROR; > } > } Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index 900e0e52a5fa..be0e772a87c8 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -1213,8 +1213,10 @@ acpi_wmi_ec_space_handler(u32 function, acpi_physical_address address, return AE_NOT_FOUND; case -ETIME: return AE_TIME; - default: + case 0: return AE_OK; + default: + return AE_ERROR; } }
If an error code other than EINVAL, ENODEV or ETIME is returned by ec_read()/ec_write(), then AE_OK is wrongly returned. Fix this by only returning AE_OK if the return code is 0, and return AE_ERROR otherwise. Tested on a Dell Inspiron 3505 and a Asus Prime B650-Plus. Signed-off-by: Armin Wolf <W_Armin@gmx.de> --- drivers/platform/x86/wmi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- 2.39.2