diff mbox series

[RESEND] ntb_hw_switchtec: fix logic error

Message ID 20180116135116.4065102-1-arnd@arndb.de
State Accepted
Commit c6fad21a8d03167a47fc376a64df785d8f6e7385
Headers show
Series [RESEND] ntb_hw_switchtec: fix logic error | expand

Commit Message

Arnd Bergmann Jan. 16, 2018, 1:50 p.m. UTC
Newer gcc (version 7 and 8 presumably) warn about a statement mixing
the << operator with logical and:

drivers/ntb/hw/mscc/ntb_hw_switchtec.c: In function 'switchtec_ntb_init_sndev':
drivers/ntb/hw/mscc/ntb_hw_switchtec.c:888:24: error: '<<' in boolean context, did you mean '<' ? [-Werror=int-in-bool-context]

My interpretation here is that the author must have intended a bitmask
rather than a comparison, so I'm changing the '&&' to '&', which makes
a lot more sense in the context.

Fixes: 1b249475275d ("ntb_hw_switchtec: Allow using Switchtec NTB in multi-partition setups")
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

----
Originally sent on Dec 9, but this patch never got picked up
---
 drivers/ntb/hw/mscc/ntb_hw_switchtec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.9.0

Comments

Jon Mason Jan. 18, 2018, 10:30 p.m. UTC | #1
On Tue, Jan 16, 2018 at 02:50:51PM +0100, Arnd Bergmann wrote:
> Newer gcc (version 7 and 8 presumably) warn about a statement mixing

> the << operator with logical and:

> 

> drivers/ntb/hw/mscc/ntb_hw_switchtec.c: In function 'switchtec_ntb_init_sndev':

> drivers/ntb/hw/mscc/ntb_hw_switchtec.c:888:24: error: '<<' in boolean context, did you mean '<' ? [-Werror=int-in-bool-context]

> 

> My interpretation here is that the author must have intended a bitmask

> rather than a comparison, so I'm changing the '&&' to '&', which makes

> a lot more sense in the context.

> 

> Fixes: 1b249475275d ("ntb_hw_switchtec: Allow using Switchtec NTB in multi-partition setups")

> Reviewed-by: Logan Gunthorpe <logang@deltatee.com>

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

> ----

> Originally sent on Dec 9, but this patch never got picked up


Sorry for missing the patch.  Applied to ntb-next.

Thanks,
Jon

> ---

>  drivers/ntb/hw/mscc/ntb_hw_switchtec.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/drivers/ntb/hw/mscc/ntb_hw_switchtec.c b/drivers/ntb/hw/mscc/ntb_hw_switchtec.c

> index bcd5b6fb3800..76acb8bba3f2 100644

> --- a/drivers/ntb/hw/mscc/ntb_hw_switchtec.c

> +++ b/drivers/ntb/hw/mscc/ntb_hw_switchtec.c

> @@ -885,7 +885,7 @@ static int switchtec_ntb_init_sndev(struct switchtec_ntb *sndev)

>  		}

>  

>  		sndev->peer_partition = ffs(tpart_vec) - 1;

> -		if (!(part_map && (1 << sndev->peer_partition))) {

> +		if (!(part_map & (1 << sndev->peer_partition))) {

>  			dev_err(&sndev->stdev->dev,

>  				"ntb target partition is not NT partition\n");

>  			return -ENODEV;

> -- 

> 2.9.0

>
diff mbox series

Patch

diff --git a/drivers/ntb/hw/mscc/ntb_hw_switchtec.c b/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
index bcd5b6fb3800..76acb8bba3f2 100644
--- a/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
+++ b/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
@@ -885,7 +885,7 @@  static int switchtec_ntb_init_sndev(struct switchtec_ntb *sndev)
 		}
 
 		sndev->peer_partition = ffs(tpart_vec) - 1;
-		if (!(part_map && (1 << sndev->peer_partition))) {
+		if (!(part_map & (1 << sndev->peer_partition))) {
 			dev_err(&sndev->stdev->dev,
 				"ntb target partition is not NT partition\n");
 			return -ENODEV;