diff options
| author | Mario Limonciello <mario.limonciello@amd.com> | 2025-04-21 16:32:10 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-06-04 14:45:09 +0200 |
| commit | b03b33957a5b44ec6e2f7f4f76043db1ef7d120f (patch) | |
| tree | 326188f16caae3a826b5d7645f8977f0773e2e48 /drivers | |
| parent | fc24595253c4b4707ccc4017199f48aff0dddf98 (diff) | |
| download | linux-b03b33957a5b44ec6e2f7f4f76043db1ef7d120f.tar.gz linux-b03b33957a5b44ec6e2f7f4f76043db1ef7d120f.tar.bz2 linux-b03b33957a5b44ec6e2f7f4f76043db1ef7d120f.zip | |
HID: amd_sfh: Avoid clearing reports for SRA sensor
[ Upstream commit f32e8c8095490152b5bc5f467d5034387a4bbd1b ]
SRA sensor doesn't allocate any memory for reports. Skip
trying to clear memory for that sensor in cleanup path.
Suggested-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c index a02969fd5068..08acc707938d 100644 --- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c +++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c @@ -83,6 +83,9 @@ static int amd_sfh_hid_client_deinit(struct amd_mp2_dev *privdata) case ALS_IDX: privdata->dev_en.is_als_present = false; break; + case SRA_IDX: + privdata->dev_en.is_sra_present = false; + break; } if (cl_data->sensor_sts[i] == SENSOR_ENABLED) { @@ -235,6 +238,8 @@ static int amd_sfh1_1_hid_client_init(struct amd_mp2_dev *privdata) cleanup: amd_sfh_hid_client_deinit(privdata); for (i = 0; i < cl_data->num_hid_devices; i++) { + if (cl_data->sensor_idx[i] == SRA_IDX) + continue; devm_kfree(dev, cl_data->feature_report[i]); devm_kfree(dev, in_data->input_report[i]); devm_kfree(dev, cl_data->report_descr[i]); |
