Re: [PATCH rdma-next v3-v5] Add OPA extended LID support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 11, 2017 at 02:35:46PM -0400, Don Hiatt wrote:
> This patch series primarily increases sizes of variables that hold
> lid values from 16 to 32 bits. Additionally, it adds a check in
> the IB mad stack to verify a properly formatted MAD when OPA
> extended LIDs are used.
>
> Signed-off-by: Don Hiatt <don.hiatt@xxxxxxxxx>
> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx>
>
>

<...>

>
> -/* Return slid in 16bit CPU encoding */
> -static inline u16 ib_slid_cpu16(u32 slid)
> +/**
> + * ib_lid_cpu16 - Return lid in 16bit CPU encoding.
> + *     In the current implementation the only way to get
> + *     get the 32bit lid is from other sources for OPA.
> + *     For IB, lids will always be 16bits so cast the
> + *     value accordingly.
> + *
> + * @lid: A 32bit LID
> + */
> +static inline u16 ib_lid_cpu16(u32 lid)
>  {
> -	return (u16)slid;
> +	WARN_ON_ONCE(lid && 0xFFFF0000);

It will print warning for first lid > 0
The proper lines should be "lid & 0xFFFF0000" (one ampersand).

> +	return (u16)lid;
>  }
>
> -/* Return slid in 16bit BE encoding */
> -static inline u16 ib_slid_be16(u32 slid)
> +/**
> + * ib_lid_be16 - Return lid in 16bit BE encoding.
> + *
> + * @lid: A 32bit LID
> + */
> +static inline u16 ib_lid_be16(u32 lid)

This function returns be16 and not u16.

>  {
> -	return cpu_to_be16((u16)slid);
> +	WARN_ON_ONCE(lid && 0xFFFF0000);

The same as above.

> +	return cpu_to_be16((u16)lid);
>  }
>  #endif /* IB_VERBS_H */
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux