mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:44:45 +01:00
platform/x86: uniwill-laptop: Fix crash on unexpected battery event
On devices that have not UNIWILL_FEATURE_BATTERY set, the underlying
hardware might still send the UNIWILL_OSD_BATTERY_ALERT event. In such
a situation, the driver will access uninitialized data structures when
handling said event.
Prevent this by only handling the UNIWILL_OSD_BATTERY_ALERT event when
UNIWILL_FEATURE_BATTERY is set.
Fixes: d050479693 ("platform/x86: Add Uniwill laptop driver")
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20260218005101.73680-3-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
parent
2d53dfacf0
commit
67e7eb4c13
1 changed files with 3 additions and 0 deletions
|
|
@ -1359,6 +1359,9 @@ static int uniwill_notifier_call(struct notifier_block *nb, unsigned long action
|
|||
|
||||
switch (action) {
|
||||
case UNIWILL_OSD_BATTERY_ALERT:
|
||||
if (!uniwill_device_supports(data, UNIWILL_FEATURE_BATTERY))
|
||||
return NOTIFY_DONE;
|
||||
|
||||
mutex_lock(&data->battery_lock);
|
||||
list_for_each_entry(entry, &data->batteries, head) {
|
||||
power_supply_changed(entry->battery);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue