]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
HID: amd_sfh: Avoid clearing reports for SRA sensor
authorMario Limonciello <mario.limonciello@amd.com>
Mon, 21 Apr 2025 21:32:10 +0000 (16:32 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:45:09 +0000 (14:45 +0200)
[ 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>
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c

index a02969fd50686d91132e8ede855d1ea82fce8cff..08acc707938d350226ea579dba38aa42c207b325 100644 (file)
@@ -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]);