Hi all,

Today's linux-next merge of the net-next tree got a conflict in
drivers/infiniband/hw/cxgb4/cm.c between commits 11b8e22d4d09
("RDMA/cxgb4: Fix vlan support") and 9eccfe109b27 ("RDMA/cxgb4: Add
support for iWARP Port Mapper user space service") from Linus' tree and
commits 92e7ae71726c ("iw_cxgb4: Choose appropriate hw mtu index and
ISS for iWARP connections") and b408ff282dda ("iw_cxgb4: don't truncate
the recv window size") from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    s...@canb.auug.org.au

diff --cc drivers/infiniband/hw/cxgb4/cm.c
index 96d7131ab974,965eaafd5851..000000000000
--- a/drivers/infiniband/hw/cxgb4/cm.c
+++ b/drivers/infiniband/hw/cxgb4/cm.c
@@@ -533,38 -532,17 +537,49 @@@ static int send_abort(struct c4iw_ep *e
        return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
  }
  
 +/*
 + * c4iw_form_pm_msg - Form a port mapper message with mapping info
 + */
 +static void c4iw_form_pm_msg(struct c4iw_ep *ep,
 +                              struct iwpm_sa_data *pm_msg)
 +{
 +      memcpy(&pm_msg->loc_addr, &ep->com.local_addr,
 +              sizeof(ep->com.local_addr));
 +      memcpy(&pm_msg->rem_addr, &ep->com.remote_addr,
 +              sizeof(ep->com.remote_addr));
 +}
 +
 +/*
 + * c4iw_form_reg_msg - Form a port mapper message with dev info
 + */
 +static void c4iw_form_reg_msg(struct c4iw_dev *dev,
 +                              struct iwpm_dev_data *pm_msg)
 +{
 +      memcpy(pm_msg->dev_name, dev->ibdev.name, IWPM_DEVNAME_SIZE);
 +      memcpy(pm_msg->if_name, dev->rdev.lldi.ports[0]->name,
 +                              IWPM_IFNAME_SIZE);
 +}
 +
 +static void c4iw_record_pm_msg(struct c4iw_ep *ep,
 +                      struct iwpm_sa_data *pm_msg)
 +{
 +      memcpy(&ep->com.mapped_local_addr, &pm_msg->mapped_loc_addr,
 +              sizeof(ep->com.mapped_local_addr));
 +      memcpy(&ep->com.mapped_remote_addr, &pm_msg->mapped_rem_addr,
 +              sizeof(ep->com.mapped_remote_addr));
 +}
 +
+ static void best_mtu(const unsigned short *mtus, unsigned short mtu,
+                    unsigned int *idx, int use_ts)
+ {
+       unsigned short hdr_size = sizeof(struct iphdr) +
+                                 sizeof(struct tcphdr) +
+                                 (use_ts ? 12 : 0);
+       unsigned short data_size = mtu - hdr_size;
+ 
+       cxgb4_best_aligned_mtu(mtus, hdr_size, data_size, 8, idx);
+ }
+ 
  static int send_connect(struct c4iw_ep *ep)
  {
        struct cpl_act_open_req *req;
@@@ -583,14 -561,11 +598,15 @@@
        int sizev6 = is_t4(ep->com.dev->rdev.lldi.adapter_type) ?
                                sizeof(struct cpl_act_open_req6) :
                                sizeof(struct cpl_t5_act_open_req6);
 -      struct sockaddr_in *la = (struct sockaddr_in *)&ep->com.local_addr;
 -      struct sockaddr_in *ra = (struct sockaddr_in *)&ep->com.remote_addr;
 -      struct sockaddr_in6 *la6 = (struct sockaddr_in6 *)&ep->com.local_addr;
 -      struct sockaddr_in6 *ra6 = (struct sockaddr_in6 *)&ep->com.remote_addr;
 +      struct sockaddr_in *la = (struct sockaddr_in *)
 +                               &ep->com.mapped_local_addr;
 +      struct sockaddr_in *ra = (struct sockaddr_in *)
 +                               &ep->com.mapped_remote_addr;
 +      struct sockaddr_in6 *la6 = (struct sockaddr_in6 *)
 +                                 &ep->com.mapped_local_addr;
 +      struct sockaddr_in6 *ra6 = (struct sockaddr_in6 *)
 +                                 &ep->com.mapped_remote_addr;
+       int win;
  
        wrlen = (ep->com.remote_addr.ss_family == AF_INET) ?
                        roundup(sizev4, 16) :
@@@ -1796,7 -1821,8 +1862,8 @@@ static int import_ep(struct c4iw_ep *ep
                step = cdev->rdev.lldi.nrxq /
                        cdev->rdev.lldi.nchan;
                ep->rss_qid = cdev->rdev.lldi.rxq_ids[
 -                      cxgb4_port_idx(n->dev) * step];
 +                      cxgb4_port_idx(pdev) * step];
+               set_tcp_window(ep, (struct port_info *)netdev_priv(pdev));
  
                if (clear_mpa_v1) {
                        ep->retry_with_mpa_v1 = 0;

Attachment: signature.asc
Description: PGP signature

Reply via email to