header->lrh.source_lid      = ah->av->g_slid & 0x7f; 
header->lrh.source_lid      = cpu_to_be16(ah->av->g_slid & 0x7f); 
int mthca_read_ah(struct mthca_dev *dev, struct mthca_ah *ah,		  struct ib_ud_header *header){	if (ah->type == MTHCA_AH_ON_HCA)		return -EINVAL;	header->lrh.service_level   = be32_to_cpu(ah->av->sl_tclass_flowlabel) >> 28;	header->lrh.destination_lid = ah->av->dlid;	header->lrh.source_lid      = ah->av->g_slid & 0x7f;	if (ah->av->g_slid & 0x80) {		header->grh_present = 1;		header->grh.traffic_class =			(be32_to_cpu(ah->av->sl_tclass_flowlabel) >> 20) & 0xff;		header->grh.flow_label    =			ah->av->sl_tclass_flowlabel & cpu_to_be32(0xfffff);		ib_get_cached_gid(&dev->ib_dev,				  be32_to_cpu(ah->av->port_pd) >> 24,				  ah->av->gid_index,				  &header->grh.source_gid);		memcpy(header->grh.destination_gid.raw,		       ah->av->dgid, 16);	} else {		header->grh_present = 0;	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/97f52eb438be7caebe026421545619d8a0c1398a/mthca_av.c/clean/drivers/infiniband/hw/mthca/mthca_av.c