diff mbox

soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on clkoutdiv

Message ID 20180115191528.GA26210@embeddedor.com (mailing list archive)
State New, archived
Headers show

Commit Message

Gustavo A. R. Silva Jan. 15, 2018, 7:15 p.m. UTC
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 <garsilva@embeddedor.com>
---
 drivers/soc/xilinx/xlnx_vcu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Dhaval Rajeshbhai Shah Jan. 16, 2018, 2:22 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: Gustavo A. R. Silva [mailto:garsilva@embeddedor.com]
> Sent: Monday, January 15, 2018 11:15 AM
> To: Michal Simek <michal.simek@xilinx.com>; Dhaval Rajeshbhai Shah
> <DSHAH@xilinx.com>
> Cc: linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> Gustavo A. R. Silva <garsilva@embeddedor.com>
> 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 <garsilva@embeddedor.com>
> ---
>  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 <dshah@xilinx.com>

Thanks & Regards,
Dhaval
Michal Simek Jan. 16, 2018, 2:50 p.m. UTC | #2
On 16.1.2018 15:22, Dhaval Rajeshbhai Shah wrote:
> Hi,
> 
>> -----Original Message-----
>> From: Gustavo A. R. Silva [mailto:garsilva@embeddedor.com]
>> Sent: Monday, January 15, 2018 11:15 AM
>> To: Michal Simek <michal.simek@xilinx.com>; Dhaval Rajeshbhai Shah
>> <DSHAH@xilinx.com>
>> Cc: linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
>> Gustavo A. R. Silva <garsilva@embeddedor.com>
>> 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 <garsilva@embeddedor.com>
>> ---
>>  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 <dshah@xilinx.com>

Applied.

Thanks,
Michal
Gustavo A. R. Silva Jan. 16, 2018, 5:04 p.m. UTC | #3
Quoting Michal Simek <michal.simek@xilinx.com>:

> On 16.1.2018 15:22, Dhaval Rajeshbhai Shah wrote:
>> Hi,
>>
>>> -----Original Message-----
>>> From: Gustavo A. R. Silva [mailto:garsilva@embeddedor.com]
>>> Sent: Monday, January 15, 2018 11:15 AM
>>> To: Michal Simek <michal.simek@xilinx.com>; Dhaval Rajeshbhai Shah
>>> <DSHAH@xilinx.com>
>>> Cc: linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
>>> Gustavo A. R. Silva <garsilva@embeddedor.com>
>>> 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 <garsilva@embeddedor.com>
>>> ---
>>>  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 <dshah@xilinx.com>
>
> Applied.
>
> Thanks,
> Michal

Thank you guys.
--
Gustavo
diff mbox

Patch

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;