提交 85303db3 编写于 作者: S Shravan S 提交者: Hans de Goede

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: NShravan S <s.shravan@intel.com>
Link: https://lore.kernel.org/r/20211006073525.1332925-1-s.shravan@intel.comSigned-off-by: NHans de Goede <hdegoede@redhat.com>
Reviewed-by: NHans de Goede <hdegoede@redhat.com>
上级 0b243c00
...@@ -9302,7 +9302,7 @@ S: Maintained ...@@ -9302,7 +9302,7 @@ S: Maintained
F: drivers/platform/x86/intel/atomisp2/led.c F: drivers/platform/x86/intel/atomisp2/led.c
INTEL BIOS SAR INT1092 DRIVER 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> M: Intel Corporation <linuxwwan@intel.com>
L: platform-driver-x86@vger.kernel.org L: platform-driver-x86@vger.kernel.org
S: Maintained S: Maintained
......
...@@ -42,12 +42,20 @@ static void update_sar_data(struct wwan_sar_context *context) ...@@ -42,12 +42,20 @@ static void update_sar_data(struct wwan_sar_context *context)
if (config->device_mode_info && if (config->device_mode_info &&
context->sar_data.device_mode < config->total_dev_mode) { context->sar_data.device_mode < config->total_dev_mode) {
struct wwan_device_mode_info *dev_mode = int itr = 0;
&config->device_mode_info[context->sar_data.device_mode];
for (itr = 0; itr < config->total_dev_mode; itr++) {
context->sar_data.antennatable_index = dev_mode->antennatable_index; if (context->sar_data.device_mode ==
context->sar_data.bandtable_index = dev_mode->bandtable_index; config->device_mode_info[itr].device_mode) {
context->sar_data.sartable_index = dev_mode->sartable_index; struct wwan_device_mode_info *dev_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 = { ...@@ -305,7 +313,6 @@ static struct platform_driver sar_driver = {
.remove = sar_remove, .remove = sar_remove,
.driver = { .driver = {
.name = DRVNAME, .name = DRVNAME,
.owner = THIS_MODULE,
.acpi_match_table = ACPI_PTR(sar_device_ids) .acpi_match_table = ACPI_PTR(sar_device_ids)
} }
}; };
...@@ -313,4 +320,4 @@ module_platform_driver(sar_driver); ...@@ -313,4 +320,4 @@ module_platform_driver(sar_driver);
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("Platform device driver for INTEL MODEM BIOS SAR"); 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>");
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册