forked from Minki/linux
b8d4380365
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 |