/* Should sgid be looked up ? */
                        ah_attr.grh.sgid_index = 0;
                        ah_attr.grh.hop_limit = grh->hop_limit;
-                       ah_attr.grh.flow_label = be32_to_cpup(
-                               &grh->version_tclass_flow)  & 0xfffff;
-                       ah_attr.grh.traffic_class = (be32_to_cpup(
-                               &grh->version_tclass_flow) >> 20) & 0xff;
+                       ah_attr.grh.flow_label = be32_to_cpu(
+                               grh->version_tclass_flow)  & 0xfffff;
+                       ah_attr.grh.traffic_class = (be32_to_cpu(
+                               grh->version_tclass_flow) >> 20) & 0xff;
                        memcpy(ah_attr.grh.dgid.raw,
                               grh->sgid.raw,
                               sizeof(ah_attr.grh.dgid));
 
                        return ERR_PTR(ret);
 
                ah_attr.grh.sgid_index = (u8) gid_index;
-               flow_class = be32_to_cpu(&grh->version_tclass_flow);
+               flow_class = be32_to_cpu(grh->version_tclass_flow);
                ah_attr.grh.flow_label = flow_class & 0xFFFFF;
                ah_attr.grh.traffic_class = (flow_class >> 20) & 0xFF;
                ah_attr.grh.hop_limit = grh->hop_limit;