diff options
author | Andrew Duggan <aduggan@synaptics.com> | 2019-10-23 04:24:03 +0300 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2019-11-18 12:23:45 +0300 |
commit | 8725aa4fa7ded30211ebd28bb1c9bae806eb3841 (patch) | |
tree | f613288fa75bb99ea87ceae032706954fb3789be /include/linux/sfi_acpi.h | |
parent | fd70466d37bf3fe0118d18c56ddde85b428f86cf (diff) | |
download | linux-8725aa4fa7ded30211ebd28bb1c9bae806eb3841.tar.xz |
HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device
In the event that the RMI device is unreachable, the calls to rmi_set_mode() or
rmi_set_page() will fail before registering the RMI transport device. When the
device is removed, rmi_remove() will call rmi_unregister_transport_device()
which will attempt to access the rmi_dev pointer which was not set.
This patch adds a check of the RMI_STARTED bit before calling
rmi_unregister_transport_device(). The RMI_STARTED bit is only set
after rmi_register_transport_device() completes successfully.
The kernel oops was reported in this message:
https://www.spinics.net/lists/linux-input/msg58433.html
[jkosina@suse.cz: reworded changelog as agreed with Andrew]
Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
Reported-by: Federico Cerutti <federico@ceres-c.it>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include/linux/sfi_acpi.h')
0 files changed, 0 insertions, 0 deletions