mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-29 10:01:25 +00:00
net: wwan: iosm: fix memory leak in ipc_pcie_read_bios_cfg
[ Upstream commitd38a648d2d
] ipc_pcie_read_bios_cfg() is using the acpi_evaluate_dsm() to obtain the wwan power state configuration from BIOS but is not freeing the acpi_object. The acpi_evaluate_dsm() returned acpi_object to be freed. Free the acpi_object after use. Fixes:7e98d785ae
("net: iosm: entry point") Signed-off-by: M Chetan Kumar <m.chetan.kumar@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
f7a1f13ab2
commit
75c04d8842
1 changed files with 8 additions and 3 deletions
|
@ -232,6 +232,7 @@ static void ipc_pcie_config_init(struct iosm_pcie *ipc_pcie)
|
||||||
*/
|
*/
|
||||||
static enum ipc_pcie_sleep_state ipc_pcie_read_bios_cfg(struct device *dev)
|
static enum ipc_pcie_sleep_state ipc_pcie_read_bios_cfg(struct device *dev)
|
||||||
{
|
{
|
||||||
|
enum ipc_pcie_sleep_state sleep_state = IPC_PCIE_D0L12;
|
||||||
union acpi_object *object;
|
union acpi_object *object;
|
||||||
acpi_handle handle_acpi;
|
acpi_handle handle_acpi;
|
||||||
|
|
||||||
|
@ -242,12 +243,16 @@ static enum ipc_pcie_sleep_state ipc_pcie_read_bios_cfg(struct device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
object = acpi_evaluate_dsm(handle_acpi, &wwan_acpi_guid, 0, 3, NULL);
|
object = acpi_evaluate_dsm(handle_acpi, &wwan_acpi_guid, 0, 3, NULL);
|
||||||
|
if (!object)
|
||||||
|
goto default_ret;
|
||||||
|
|
||||||
if (object && object->integer.value == 3)
|
if (object->integer.value == 3)
|
||||||
return IPC_PCIE_D3L2;
|
sleep_state = IPC_PCIE_D3L2;
|
||||||
|
|
||||||
|
kfree(object);
|
||||||
|
|
||||||
default_ret:
|
default_ret:
|
||||||
return IPC_PCIE_D0L12;
|
return sleep_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ipc_pcie_probe(struct pci_dev *pci,
|
static int ipc_pcie_probe(struct pci_dev *pci,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue