Re: [PATCH] infiniband:cxgb4:Fix if statement check in the function pick_local_ip6adddrs

From: Doug Ledford
Date: Thu Sep 03 2015 - 14:06:01 EST


On 08/26/2015 11:00 PM, Nicholas Krause wrote:
> This fixes a if statement checking the return value of the function
> get_lladdr for success in the function pick_local_ip6addrs to instead
> of directly checking the return value of this call check the opposite
> as get_lladdr returns zero for success which would incorrectly make
> this if statement block not execute with the current if statement
> check.
>
> Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx>

Thanks, applied.

> ---
> drivers/infiniband/hw/cxgb4/cm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
> index 3ad8dc7..b85b94b 100644
> --- a/drivers/infiniband/hw/cxgb4/cm.c
> +++ b/drivers/infiniband/hw/cxgb4/cm.c
> @@ -2976,7 +2976,7 @@ static int pick_local_ip6addrs(struct c4iw_dev *dev, struct iw_cm_id *cm_id)
> struct sockaddr_in6 *la6 = (struct sockaddr_in6 *)&cm_id->local_addr;
> struct sockaddr_in6 *ra6 = (struct sockaddr_in6 *)&cm_id->remote_addr;
>
> - if (get_lladdr(dev->rdev.lldi.ports[0], &addr, IFA_F_TENTATIVE)) {
> + if (!get_lladdr(dev->rdev.lldi.ports[0], &addr, IFA_F_TENTATIVE)) {
> memcpy(la6->sin6_addr.s6_addr, &addr, 16);
> memcpy(ra6->sin6_addr.s6_addr, &addr, 16);
> return 0;
>


--
Doug Ledford <dledford@xxxxxxxxxx>
GPG KeyID: 0E572FDD


Attachment: signature.asc
Description: OpenPGP digital signature