Re: [Bug Report] intel/vbtn: Dell Inspiron 7352 has unreliable tablet-mode switch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Arnold Gozum <arngozum@xxxxxxxxx> 於 2023年10月18日 週三 上午8:53寫道:
>
> Hi,
>
> In Linux 5.11, Dell Inspiron 7352 was added to the
> dmi_switches_allow_list as it is a 2-in-1 which reports a chassis type
> 10 (actually it was me who submitted the patch).
>
> However, the tablet mode switch can be unreliable. Randomly, switch
> events stop being reported and SW_TABLET_MODE will by stuck at 1 or 0,
> which I have tested by running evtest while flipping the device to and
> from tablet mode. This is fixed after a reboot, or a suspend followed by
> unloading and reloading the intel-vbtn module. It can also sometimes be
> the case that upon resume, SW_TABLET_MODE does not reflect the actual
> state of the device, which is fixed by physically flipping the screen
> back and forth to update the state.
>
> Because of these issues, I think this model should be removed from the
> allow list, unless more investigation should be done.
Hi Arnold,

It's been a long time since you submitted the patch. Did those issues
not occur during that time?
Have you tried updating the BIOS to see if it helps?

>From your description, I think calling VBDL might reset the status.
You might want to try it below.

diff --git a/drivers/platform/x86/intel/vbtn.c
b/drivers/platform/x86/intel/vbtn.c
index 6fa1735ad7a49..681650f52ff22 100644
--- a/drivers/platform/x86/intel/vbtn.c
+++ b/drivers/platform/x86/intel/vbtn.c
@@ -198,6 +198,8 @@ static void notify_handler(acpi_handle handle, u32
event, void *context)
       autorelease = val && (!ke_rel || ke_rel->type == KE_IGNORE);

       sparse_keymap_report_event(input_dev, event, val, autorelease);
+
+       acpi_evaluate_object(handle, "VBDL", NULL, NULL);
}

/*

>
> Thanks,
> Arnold




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux