On Tue, Jan 10, 2017 at 10:47:55PM +0530, Bart Van Assche wrote: > 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? No, cxgbit does not offload iscsi-target on T4 adapters. There is a check in cxgbit_uld_add() which returns error if adapter type is T4. static void *cxgbit_uld_add(const struct cxgb4_lld_info *lldi) { struct cxgbit_device *cdev; if (is_t4(lldi->adapter_type)) return ERR_PTR(-ENODEV); ... } -- 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