[2/6] dma: tegra: make byte counters unsigned int

Message ID 20181031160309.20408-3-ben.dooks@codethink.co.uk
State New
Headers show
Series
  • [1/6] dma: tegra: avoid overflow of byte tracking
Related show

Commit Message

Ben Dooks Oct. 31, 2018, 4:03 p.m.
The buffer byte request length and counter are declared as signed integers
but the values should never be below zero, so make these unsigned integers
instead.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
---
 drivers/dma/tegra20-apb-dma.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Dmitry Osipenko Nov. 6, 2018, 1:11 p.m. | #1
On 31.10.2018 19:03, Ben Dooks wrote:
> The buffer byte request length and counter are declared as signed integers
> but the values should never be below zero, so make these unsigned integers
> instead.
> 
> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> ---
>  drivers/dma/tegra20-apb-dma.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
> index 8219ab88a507..adfd918baedc 100644
> --- a/drivers/dma/tegra20-apb-dma.c
> +++ b/drivers/dma/tegra20-apb-dma.c
> @@ -155,7 +155,7 @@ struct tegra_dma_channel_regs {
>   */
>  struct tegra_dma_sg_req {
>  	struct tegra_dma_channel_regs	ch_regs;
> -	int				req_len;
> +	unsigned int			req_len;
>  	bool				configured;
>  	bool				last_sg;
>  	struct list_head		node;
> @@ -169,8 +169,8 @@ struct tegra_dma_sg_req {
>   */
>  struct tegra_dma_desc {
>  	struct dma_async_tx_descriptor	txd;
> -	int				bytes_requested;
> -	int				bytes_transferred;
> +	unsigned int			bytes_requested;
> +	unsigned int			bytes_transferred;
>  	enum dma_status			dma_status;
>  	struct list_head		node;
>  	struct list_head		tx_list;
> 
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>

Patch

diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
index 8219ab88a507..adfd918baedc 100644
--- a/drivers/dma/tegra20-apb-dma.c
+++ b/drivers/dma/tegra20-apb-dma.c
@@ -155,7 +155,7 @@  struct tegra_dma_channel_regs {
  */
 struct tegra_dma_sg_req {
 	struct tegra_dma_channel_regs	ch_regs;
-	int				req_len;
+	unsigned int			req_len;
 	bool				configured;
 	bool				last_sg;
 	struct list_head		node;
@@ -169,8 +169,8 @@  struct tegra_dma_sg_req {
  */
 struct tegra_dma_desc {
 	struct dma_async_tx_descriptor	txd;
-	int				bytes_requested;
-	int				bytes_transferred;
+	unsigned int			bytes_requested;
+	unsigned int			bytes_transferred;
 	enum dma_status			dma_status;
 	struct list_head		node;
 	struct list_head		tx_list;