mirror of
https://github.com/torvalds/linux.git
synced 2026-08-03 13:58:32 +02:00
In ipa_smem_init(), a Qualcomm SMEM region is allocated (if needed)
and then its virtual address is fetched using qcom_smem_get(). The
physical address associated with that region is also fetched.
The physical address is adjusted so that it is page-aligned, and an
attempt is made to update the size of the region to compensate for
any non-zero adjustment.
But that adjustment isn't done properly. The physical address is
aligned twice, and as a result the size is never actually adjusted.
Fix this by *not* aligning the "addr" local variable, and instead
making the "phys" local variable be the adjusted "addr" value.
Fixes:
|
||
|---|---|---|
| .. | ||
| data | ||
| gsi_private.h | ||
| gsi_reg.h | ||
| gsi_trans.c | ||
| gsi_trans.h | ||
| gsi.c | ||
| gsi.h | ||
| ipa_cmd.c | ||
| ipa_cmd.h | ||
| ipa_data.h | ||
| ipa_endpoint.c | ||
| ipa_endpoint.h | ||
| ipa_gsi.c | ||
| ipa_gsi.h | ||
| ipa_interrupt.c | ||
| ipa_interrupt.h | ||
| ipa_main.c | ||
| ipa_mem.c | ||
| ipa_mem.h | ||
| ipa_modem.c | ||
| ipa_modem.h | ||
| ipa_power.c | ||
| ipa_power.h | ||
| ipa_qmi_msg.c | ||
| ipa_qmi_msg.h | ||
| ipa_qmi.c | ||
| ipa_qmi.h | ||
| ipa_reg.c | ||
| ipa_reg.h | ||
| ipa_resource.c | ||
| ipa_resource.h | ||
| ipa_smp2p.c | ||
| ipa_smp2p.h | ||
| ipa_sysfs.c | ||
| ipa_sysfs.h | ||
| ipa_table.c | ||
| ipa_table.h | ||
| ipa_uc.c | ||
| ipa_uc.h | ||
| ipa_version.h | ||
| ipa.h | ||
| Kconfig | ||
| Makefile | ||