aoemajor = __be16_to_cpu(*((u16 *) h->major)); 
aoemajor = be16_to_cpu(h->major); 
aoecmd_cfg_rsp(struct sk_buff *skb){	struct aoedev *d;	struct aoe_hdr *h;	struct aoe_cfghdr *ch;	ulong flags, bufcnt, sysminor, aoemajor;	struct sk_buff *sl;	enum { MAXFRAMES = 8 };	h = (struct aoe_hdr *) skb->mac.raw;	ch = (struct aoe_cfghdr *) (h+1);	/*	 * Enough people have their dip switches set backwards to	 * warrant a loud message for this special case.	 */	aoemajor = __be16_to_cpu(*((u16 *) h->major));	if (aoemajor == 0xfff) {		printk(KERN_CRIT "aoe: aoecmd_cfg_rsp: Warning: shelf "			"address is all ones.  Check shelf dip switches\n");		return;	}	sysminor = SYSMINOR(aoemajor, h->minor);	if (sysminor * AOE_PARTITIONS + AOE_PARTITIONS > MINORMASK) {		printk(KERN_INFO			"aoe: e%ld.%d: minor number too large\n", 			aoemajor, (int) h->minor);		return;	}	bufcnt = __be16_to_cpu(*((u16 *) ch->bufcnt));	if (bufcnt > MAXFRAMES)	/* keep it reasonable */		bufcnt = MAXFRAMES;	d = aoedev_set(sysminor, h->src, skb->dev, bufcnt);	if (d == NULL) {		printk(KERN_INFO "aoe: aoecmd_cfg_rsp: device set failure\n");		return;	}	spin_lock_irqsave(&d->lock, flags);	if (d->flags & (DEVFL_UP | DEVFL_CLOSEWAIT)) {		spin_unlock_irqrestore(&d->lock, flags);		return;	}	d->fw_ver = __be16_to_cpu(*((u16 *) ch->fwver));	/* we get here only if the device is new */	sl = aoecmd_ata_id(d);	spin_unlock_irqrestore(&d->lock, flags);	aoenet_xmit(sl);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/63e9cc5d6fbe8b58ea1ee96439d356cbf726fbc0/aoecmd.c/clean/drivers/block/aoe/aoecmd.c