PCI: endpoint: functions: Use memcpy_fromio()/memcpy_toio()
Functions copying from/to IO addresses should use the
memcpy_fromio()/memcpy_toio() API rather than plain memcpy().
Fix the issue detected through the sparse tool.
Fixes: 349e7a85b2
("PCI: endpoint: functions: Add an EP function to test PCI")
Suggested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
[lorenzo.pieralisi@arm.com: updated log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
CC: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
CC: Bjorn Helgaas <bhelgaas@google.com>
CC: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
CC: Niklas Cassel <niklas.cassel@axis.com>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: Cyrille Pitchen <cyrille.pitchen@free-electrons.com>
CC: linux-pci@vger.kernel.org
CC: linux-kernel@vger.kernel.org
This commit is contained in:
Родитель
bfeffd1552
Коммит
726dabfde6
|
@ -175,7 +175,7 @@ static int pci_epf_test_read(struct pci_epf_test *epf_test)
|
||||||
goto err_map_addr;
|
goto err_map_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(buf, src_addr, reg->size);
|
memcpy_fromio(buf, src_addr, reg->size);
|
||||||
|
|
||||||
crc32 = crc32_le(~0, buf, reg->size);
|
crc32 = crc32_le(~0, buf, reg->size);
|
||||||
if (crc32 != reg->checksum)
|
if (crc32 != reg->checksum)
|
||||||
|
@ -230,7 +230,7 @@ static int pci_epf_test_write(struct pci_epf_test *epf_test)
|
||||||
get_random_bytes(buf, reg->size);
|
get_random_bytes(buf, reg->size);
|
||||||
reg->checksum = crc32_le(~0, buf, reg->size);
|
reg->checksum = crc32_le(~0, buf, reg->size);
|
||||||
|
|
||||||
memcpy(dst_addr, buf, reg->size);
|
memcpy_toio(dst_addr, buf, reg->size);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wait 1ms inorder for the write to complete. Without this delay L3
|
* wait 1ms inorder for the write to complete. Without this delay L3
|
||||||
|
|
Загрузка…
Ссылка в новой задаче