Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3ba1efe authored by Myron Stowe's avatar Myron Stowe Committed by Len Brown
Browse files

ACPI: Fix ioremap size for MMIO reads and writes



The size used for I/O remapping MMIO read and write accesses has not
accounted for the basis of ACPI's Generic Address Structure (GAS)
'Register Bit Width' field which is bits, not bytes.  This patch
adjusts the ioremap() 'size' argument accordingly.

ACPI "Generic Register" reference:
  ACPI Specification, Revision 4.0, Section 5.2.3.1, "Generic Address
  Structure".

Signed-off-by: default avatarMyron Stowe <myron.stowe@hp.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent f6f94e2a
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -496,7 +496,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
	u32 dummy;
	u32 dummy;
	void __iomem *virt_addr;
	void __iomem *virt_addr;


	virt_addr = ioremap(phys_addr, width);
	virt_addr = ioremap(phys_addr, width / 8);
	if (!value)
	if (!value)
		value = &dummy;
		value = &dummy;


@@ -524,7 +524,7 @@ acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
{
{
	void __iomem *virt_addr;
	void __iomem *virt_addr;


	virt_addr = ioremap(phys_addr, width);
	virt_addr = ioremap(phys_addr, width / 8);


	switch (width) {
	switch (width) {
	case 8:
	case 8: