2018-01-15 19:15:32

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on clkoutdiv

Currently clkoutdiv is being operated on by a logical && operator rather
than a bitwise & operator. This looks incorrect as these should be bit
flag operations.

Addresses-Coverity-ID: 1463959 ("Logical vs. bitwise operator")
Fixes: cee8113a295a ("soc: xilinx: xlnx_vcu: Add Xilinx ZYNQMP VCU logicoreIP init driver")
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/soc/xilinx/xlnx_vcu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/xilinx/xlnx_vcu.c b/drivers/soc/xilinx/xlnx_vcu.c
index c1d6f1b..a840c02 100644
--- a/drivers/soc/xilinx/xlnx_vcu.c
+++ b/drivers/soc/xilinx/xlnx_vcu.c
@@ -334,7 +334,7 @@ static int xvcu_set_vcu_pll_info(struct xvcu_device *xvcu)
*/
vcu_pll_ctrl = xvcu_read(xvcu->vcu_slcr_ba, VCU_PLL_CTRL);
clkoutdiv = vcu_pll_ctrl >> VCU_PLL_CTRL_CLKOUTDIV_SHIFT;
- clkoutdiv = clkoutdiv && VCU_PLL_CTRL_CLKOUTDIV_MASK;
+ clkoutdiv = clkoutdiv & VCU_PLL_CTRL_CLKOUTDIV_MASK;
if (clkoutdiv != 1) {
dev_err(xvcu->dev, "clkoutdiv value is invalid\n");
return -EINVAL;
--
2.7.4


2018-01-16 14:22:39

by Dhaval Rajeshbhai Shah

[permalink] [raw]
Subject: RE: [PATCH] soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on clkoutdiv

Hi,

> -----Original Message-----
> From: Gustavo A. R. Silva [mailto:[email protected]]
> Sent: Monday, January 15, 2018 11:15 AM
> To: Michal Simek <[email protected]>; Dhaval Rajeshbhai Shah
> <[email protected]>
> Cc: [email protected]; [email protected];
> Gustavo A. R. Silva <[email protected]>
> Subject: [PATCH] soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on
> clkoutdiv
>
> Currently clkoutdiv is being operated on by a logical && operator rather than a
> bitwise & operator. This looks incorrect as these should be bit flag operations.
>
> Addresses-Coverity-ID: 1463959 ("Logical vs. bitwise operator")
> Fixes: cee8113a295a ("soc: xilinx: xlnx_vcu: Add Xilinx ZYNQMP VCU logicoreIP
> init driver")
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> drivers/soc/xilinx/xlnx_vcu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soc/xilinx/xlnx_vcu.c b/drivers/soc/xilinx/xlnx_vcu.c index
> c1d6f1b..a840c02 100644
> --- a/drivers/soc/xilinx/xlnx_vcu.c
> +++ b/drivers/soc/xilinx/xlnx_vcu.c
> @@ -334,7 +334,7 @@ static int xvcu_set_vcu_pll_info(struct xvcu_device
> *xvcu)
> */
> vcu_pll_ctrl = xvcu_read(xvcu->vcu_slcr_ba, VCU_PLL_CTRL);
> clkoutdiv = vcu_pll_ctrl >> VCU_PLL_CTRL_CLKOUTDIV_SHIFT;
> - clkoutdiv = clkoutdiv && VCU_PLL_CTRL_CLKOUTDIV_MASK;
> + clkoutdiv = clkoutdiv & VCU_PLL_CTRL_CLKOUTDIV_MASK;
> if (clkoutdiv != 1) {
> dev_err(xvcu->dev, "clkoutdiv value is invalid\n");
> return -EINVAL;
> --
> 2.7.4

Acked-by: Dhaval Shah <[email protected]>

Thanks & Regards,
Dhaval

2018-01-16 14:50:16

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on clkoutdiv

On 16.1.2018 15:22, Dhaval Rajeshbhai Shah wrote:
> Hi,
>
>> -----Original Message-----
>> From: Gustavo A. R. Silva [mailto:[email protected]]
>> Sent: Monday, January 15, 2018 11:15 AM
>> To: Michal Simek <[email protected]>; Dhaval Rajeshbhai Shah
>> <[email protected]>
>> Cc: [email protected]; [email protected];
>> Gustavo A. R. Silva <[email protected]>
>> Subject: [PATCH] soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on
>> clkoutdiv
>>
>> Currently clkoutdiv is being operated on by a logical && operator rather than a
>> bitwise & operator. This looks incorrect as these should be bit flag operations.
>>
>> Addresses-Coverity-ID: 1463959 ("Logical vs. bitwise operator")
>> Fixes: cee8113a295a ("soc: xilinx: xlnx_vcu: Add Xilinx ZYNQMP VCU logicoreIP
>> init driver")
>> Signed-off-by: Gustavo A. R. Silva <[email protected]>
>> ---
>> drivers/soc/xilinx/xlnx_vcu.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/soc/xilinx/xlnx_vcu.c b/drivers/soc/xilinx/xlnx_vcu.c index
>> c1d6f1b..a840c02 100644
>> --- a/drivers/soc/xilinx/xlnx_vcu.c
>> +++ b/drivers/soc/xilinx/xlnx_vcu.c
>> @@ -334,7 +334,7 @@ static int xvcu_set_vcu_pll_info(struct xvcu_device
>> *xvcu)
>> */
>> vcu_pll_ctrl = xvcu_read(xvcu->vcu_slcr_ba, VCU_PLL_CTRL);
>> clkoutdiv = vcu_pll_ctrl >> VCU_PLL_CTRL_CLKOUTDIV_SHIFT;
>> -clkoutdiv = clkoutdiv && VCU_PLL_CTRL_CLKOUTDIV_MASK;
>> +clkoutdiv = clkoutdiv & VCU_PLL_CTRL_CLKOUTDIV_MASK;
>> if (clkoutdiv != 1) {
>> dev_err(xvcu->dev, "clkoutdiv value is invalid\n");
>> return -EINVAL;
>> --
>> 2.7.4
>
> Acked-by: Dhaval Shah <[email protected]>

Applied.

Thanks,
Michal

2018-01-16 17:29:50

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on clkoutdiv


Quoting Michal Simek <[email protected]>:

> On 16.1.2018 15:22, Dhaval Rajeshbhai Shah wrote:
>> Hi,
>>
>>> -----Original Message-----
>>> From: Gustavo A. R. Silva [mailto:[email protected]]
>>> Sent: Monday, January 15, 2018 11:15 AM
>>> To: Michal Simek <[email protected]>; Dhaval Rajeshbhai Shah
>>> <[email protected]>
>>> Cc: [email protected]; [email protected];
>>> Gustavo A. R. Silva <[email protected]>
>>> Subject: [PATCH] soc: xilinx: xlnx_vcu: Use bitwise & rather than
>>> logical && on
>>> clkoutdiv
>>>
>>> Currently clkoutdiv is being operated on by a logical && operator
>>> rather than a
>>> bitwise & operator. This looks incorrect as these should be bit
>>> flag operations.
>>>
>>> Addresses-Coverity-ID: 1463959 ("Logical vs. bitwise operator")
>>> Fixes: cee8113a295a ("soc: xilinx: xlnx_vcu: Add Xilinx ZYNQMP VCU
>>> logicoreIP
>>> init driver")
>>> Signed-off-by: Gustavo A. R. Silva <[email protected]>
>>> ---
>>> drivers/soc/xilinx/xlnx_vcu.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/soc/xilinx/xlnx_vcu.c
>>> b/drivers/soc/xilinx/xlnx_vcu.c index
>>> c1d6f1b..a840c02 100644
>>> --- a/drivers/soc/xilinx/xlnx_vcu.c
>>> +++ b/drivers/soc/xilinx/xlnx_vcu.c
>>> @@ -334,7 +334,7 @@ static int xvcu_set_vcu_pll_info(struct xvcu_device
>>> *xvcu)
>>> */
>>> vcu_pll_ctrl = xvcu_read(xvcu->vcu_slcr_ba, VCU_PLL_CTRL);
>>> clkoutdiv = vcu_pll_ctrl >> VCU_PLL_CTRL_CLKOUTDIV_SHIFT;
>>> -clkoutdiv = clkoutdiv && VCU_PLL_CTRL_CLKOUTDIV_MASK;
>>> +clkoutdiv = clkoutdiv & VCU_PLL_CTRL_CLKOUTDIV_MASK;
>>> if (clkoutdiv != 1) {
>>> dev_err(xvcu->dev, "clkoutdiv value is invalid\n");
>>> return -EINVAL;
>>> --
>>> 2.7.4
>>
>> Acked-by: Dhaval Shah <[email protected]>
>
> Applied.
>
> Thanks,
> Michal

Thank you guys.
--
Gustavo