Commit 20db88e3 authored by Corentin Chary's avatar Corentin Chary Committed by Matthew Garrett

samsung-laptop: fix seclinux rfkill and us it as fallback

Signed-off-by: default avatarCorentin Chary <corentincj@iksaif.net>
Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
parent a2d5dd24
......@@ -541,7 +541,8 @@ static const struct backlight_ops backlight_ops = {
static int seclinux_rfkill_set(void *data, bool blocked)
{
struct samsung_laptop *samsung = data;
struct samsung_rfkill *srfkill = data;
struct samsung_laptop *samsung = srfkill->samsung;
const struct sabi_commands *commands = &samsung->config->commands;
return sabi_set_commandb(samsung, commands->set_wireless_button,
......@@ -889,8 +890,13 @@ static int __init samsung_rfkill_init_swsmi(struct samsung_laptop *samsung)
int ret;
ret = swsmi_wireless_status(samsung, &data);
if (ret)
if (ret) {
/* Some swsmi laptops use the old seclinux way to control
* wireless devices */
if (ret == -EINVAL)
ret = samsung_rfkill_init_seclinux(samsung);
return ret;
}
/* 0x02 seems to mean that the device is no present/available */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment