Re: [PATCH 3/5] cxgbit: use T6 specific macros to get ETH/IP hdr len

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

 



On Sat, 2017-01-07 at 22:09 +0530, Varun Prakash wrote:
> Signed-off-by: Varun Prakash <varun@xxxxxxxxxxx>
> ---
>  drivers/target/iscsi/cxgbit/cxgbit_cm.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/target/iscsi/cxgbit/cxgbit_cm.c b/drivers/target/iscsi/cxgbit/cxgbit_cm.c
> index 4f5ec16..7c6152d 100644
> --- a/drivers/target/iscsi/cxgbit/cxgbit_cm.c
> +++ b/drivers/target/iscsi/cxgbit/cxgbit_cm.c
> @@ -1068,6 +1068,7 @@ cxgbit_pass_accept_rpl(struct cxgbit_sock *csk, struct cpl_pass_accept_req *req)
>  	struct sk_buff *skb;
>  	const struct tcphdr *tcph;
>  	struct cpl_t5_pass_accept_rpl *rpl5;
> +	struct cxgb4_lld_info *lldi = &csk->com.cdev->lldi;
>  	unsigned int len = roundup(sizeof(*rpl5), 16);
>  	unsigned int mtu_idx;
>  	u64 opt0;
> @@ -1121,8 +1122,13 @@ cxgbit_pass_accept_rpl(struct cxgbit_sock *csk, struct cpl_pass_accept_req *req)
>  		opt2 |= WND_SCALE_EN_F;
>  
>  	hlen = ntohl(req->hdr_len);
> -	tcph = (const void *)(req + 1) + ETH_HDR_LEN_G(hlen) +
> -		IP_HDR_LEN_G(hlen);
> +
> +	if (is_t5(lldi->adapter_type))
> +		tcph = (struct tcphdr *)((u8 *)(req + 1) +
> +		       ETH_HDR_LEN_G(hlen) + IP_HDR_LEN_G(hlen));
> +	else
> +		tcph = (struct tcphdr *)((u8 *)(req + 1) +
> +		       T6_ETH_HDR_LEN_G(hlen) + T6_IP_HDR_LEN_G(hlen));
>  
>  	if (tcph->ece && tcph->cwr)
>  		opt2 |= CCTRL_ECN_V(1);

Does this patch introduce a bug for T4 adapters?

Bart.--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux