Commit 85303db3 authored by Shravan S's avatar Shravan S Committed by Hans de Goede
Browse files

platform/x86: int1092: Fix non sequential device mode handling



SAR information from BIOS may come in non sequential pattern.

To overcome the issue, a check is made to extract the right SAR
information using the device mode which is currently being used.

Remove .owner field if calls are used which set it automatically.
Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci

Signed-off-by: default avatarShravan S <s.shravan@intel.com>
Link: https://lore.kernel.org/r/20211006073525.1332925-1-s.shravan@intel.com


Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 0b243c00
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -9302,7 +9302,7 @@ S: Maintained
F:	drivers/platform/x86/intel/atomisp2/led.c
INTEL BIOS SAR INT1092 DRIVER
M:	Shravan S <s.shravan@intel.com>
M:	Shravan Sudhakar <s.shravan@intel.com>
M:	Intel Corporation <linuxwwan@intel.com>
L:	platform-driver-x86@vger.kernel.org
S:	Maintained
+15 −8
Original line number Diff line number Diff line
@@ -42,12 +42,20 @@ static void update_sar_data(struct wwan_sar_context *context)

	if (config->device_mode_info &&
	    context->sar_data.device_mode < config->total_dev_mode) {
		int itr = 0;

		for (itr = 0; itr < config->total_dev_mode; itr++) {
			if (context->sar_data.device_mode ==
				config->device_mode_info[itr].device_mode) {
				struct wwan_device_mode_info *dev_mode =
			&config->device_mode_info[context->sar_data.device_mode];
				&config->device_mode_info[itr];

				context->sar_data.antennatable_index = dev_mode->antennatable_index;
				context->sar_data.bandtable_index = dev_mode->bandtable_index;
				context->sar_data.sartable_index = dev_mode->sartable_index;
				break;
			}
		}
	}
}

@@ -305,7 +313,6 @@ static struct platform_driver sar_driver = {
	.remove = sar_remove,
	.driver = {
		.name = DRVNAME,
		.owner = THIS_MODULE,
		.acpi_match_table = ACPI_PTR(sar_device_ids)
	}
};
@@ -313,4 +320,4 @@ module_platform_driver(sar_driver);

MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("Platform device driver for INTEL MODEM BIOS SAR");
MODULE_AUTHOR("Shravan S <s.shravan@intel.com>");
MODULE_AUTHOR("Shravan Sudhakar <s.shravan@intel.com>");