Commit 7df22784 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 c0058287
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>");