2019-02-11 09:07:38

by Wen Yang

[permalink] [raw]
Subject: [PATCH] PCI: endpoint: functions: use memcpy_fromio()/memcpy_toio()

Use the IO memcpy() functions when copying from/to IO memory.
These locations were found via sparse.

Signed-off-by: Wen Yang <[email protected]>
Suggested-by: Kishon Vijay Abraham I <[email protected]>
CC: Lorenzo Pieralisi <[email protected]>
CC: Bjorn Helgaas <[email protected]>
CC: Gustavo Pimentel <[email protected]>
CC: Niklas Cassel <[email protected]>
CC: Greg Kroah-Hartman <[email protected]>
CC: Cyrille Pitchen <[email protected]>
CC: [email protected]
CC: [email protected]
---
drivers/pci/endpoint/functions/pci-epf-test.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
index 3e86fa3..4bbd26e 100644
--- a/drivers/pci/endpoint/functions/pci-epf-test.c
+++ b/drivers/pci/endpoint/functions/pci-epf-test.c
@@ -175,7 +175,7 @@ static int pci_epf_test_read(struct pci_epf_test *epf_test)
goto err_map_addr;
}

- memcpy(buf, src_addr, reg->size);
+ memcpy_fromio(buf, src_addr, reg->size);

crc32 = crc32_le(~0, buf, reg->size);
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);
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
--
2.9.5



2019-02-11 11:37:51

by Kishon Vijay Abraham I

[permalink] [raw]
Subject: Re: [PATCH] PCI: endpoint: functions: use memcpy_fromio()/memcpy_toio()



On 11/02/19 2:34 PM, Wen Yang wrote:
> Use the IO memcpy() functions when copying from/to IO memory.
> These locations were found via sparse.
>
> Signed-off-by: Wen Yang <[email protected]>
> Suggested-by: Kishon Vijay Abraham I <[email protected]>
> CC: Lorenzo Pieralisi <[email protected]>
> CC: Bjorn Helgaas <[email protected]>
> CC: Gustavo Pimentel <[email protected]>
> CC: Niklas Cassel <[email protected]>
> CC: Greg Kroah-Hartman <[email protected]>
> CC: Cyrille Pitchen <[email protected]>
> CC: [email protected]
> CC: [email protected]

Acked-by: Kishon Vijay Abraham I <[email protected]>
> ---
> drivers/pci/endpoint/functions/pci-epf-test.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
> index 3e86fa3..4bbd26e 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-test.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-test.c
> @@ -175,7 +175,7 @@ static int pci_epf_test_read(struct pci_epf_test *epf_test)
> goto err_map_addr;
> }
>
> - memcpy(buf, src_addr, reg->size);
> + memcpy_fromio(buf, src_addr, reg->size);
>
> crc32 = crc32_le(~0, buf, reg->size);
> 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);
> 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
>

2019-02-11 16:21:10

by Lorenzo Pieralisi

[permalink] [raw]
Subject: Re: [PATCH] PCI: endpoint: functions: use memcpy_fromio()/memcpy_toio()

On Mon, Feb 11, 2019 at 05:04:00PM +0800, Wen Yang wrote:
> Use the IO memcpy() functions when copying from/to IO memory.
> These locations were found via sparse.
>
> Signed-off-by: Wen Yang <[email protected]>
> Suggested-by: Kishon Vijay Abraham I <[email protected]>
> CC: Lorenzo Pieralisi <[email protected]>
> CC: Bjorn Helgaas <[email protected]>
> CC: Gustavo Pimentel <[email protected]>
> CC: Niklas Cassel <[email protected]>
> CC: Greg Kroah-Hartman <[email protected]>
> CC: Cyrille Pitchen <[email protected]>
> CC: [email protected]
> CC: [email protected]
> ---
> drivers/pci/endpoint/functions/pci-epf-test.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

Applied, with updated tags to pci/endpoint for v5.1, thanks.

Lorenzo

> diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
> index 3e86fa3..4bbd26e 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-test.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-test.c
> @@ -175,7 +175,7 @@ static int pci_epf_test_read(struct pci_epf_test *epf_test)
> goto err_map_addr;
> }
>
> - memcpy(buf, src_addr, reg->size);
> + memcpy_fromio(buf, src_addr, reg->size);
>
> crc32 = crc32_le(~0, buf, reg->size);
> 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);
> 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
> --
> 2.9.5
>