handle = dma_map_single(iSeries_vio_dev, buf, PAGE_SIZE, 
handle = dma_map_single(iSeries_vio_dev, buf, HW_PAGE_SIZE, 
static int proc_viopath_show(struct seq_file *m, void *v){	char *buf;	u16 vlanMap;	dma_addr_t handle;	HvLpEvent_Rc hvrc;	DECLARE_MUTEX_LOCKED(Semaphore);	buf = kmalloc(PAGE_SIZE, GFP_KERNEL);	if (!buf)		return 0;	memset(buf, 0, PAGE_SIZE);	handle = dma_map_single(iSeries_vio_dev, buf, PAGE_SIZE,				DMA_FROM_DEVICE);	hvrc = HvCallEvent_signalLpEventFast(viopath_hostLp,			HvLpEvent_Type_VirtualIo,			viomajorsubtype_config | vioconfigget,			HvLpEvent_AckInd_DoAck, HvLpEvent_AckType_ImmediateAck,			viopath_sourceinst(viopath_hostLp),			viopath_targetinst(viopath_hostLp),			(u64)(unsigned long)&Semaphore, VIOVERSION << 16,			((u64)handle) << 32, PAGE_SIZE, 0, 0);	if (hvrc != HvLpEvent_Rc_Good)		printk(VIOPATH_KERN_WARN "hv error on op %d\n", (int)hvrc);	down(&Semaphore);	vlanMap = HvLpConfig_getVirtualLanIndexMap();	buf[PAGE_SIZE-1] = '\0';	seq_printf(m, "%s", buf);	seq_printf(m, "AVAILABLE_VETH=%x\n", vlanMap);	seq_printf(m, "SRLNBR=%c%c%c%c%c%c%c\n",		   e2a(xItExtVpdPanel.mfgID[2]),		   e2a(xItExtVpdPanel.mfgID[3]),		   e2a(xItExtVpdPanel.systemSerial[1]),		   e2a(xItExtVpdPanel.systemSerial[2]),		   e2a(xItExtVpdPanel.systemSerial[3]),		   e2a(xItExtVpdPanel.systemSerial[4]),		   e2a(xItExtVpdPanel.systemSerial[5]));	dma_unmap_single(iSeries_vio_dev, handle, PAGE_SIZE, DMA_FROM_DEVICE);	kfree(buf);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3c726f8dee6f55e96475574e9f645327e461884c/viopath.c/buggy/arch/powerpc/platforms/iseries/viopath.c