rc = pci_set_consistent_dma_mask(pdev, 0xffffffffffffffffULL); 
rc = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); 
static int carm_init_one (struct pci_dev *pdev, const struct pci_device_id *ent){	static unsigned int printed_version;	struct carm_host *host;	unsigned int pci_dac;	int rc;	request_queue_t *q;	unsigned int i;	if (!printed_version++)		printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n");	rc = pci_enable_device(pdev);	if (rc)		return rc;	rc = pci_request_regions(pdev, DRV_NAME);	if (rc)		goto err_out;#if IF_64BIT_DMA_IS_POSSIBLE /* grrrr... */	rc = pci_set_dma_mask(pdev, 0xffffffffffffffffULL);	if (!rc) {		rc = pci_set_consistent_dma_mask(pdev, 0xffffffffffffffffULL);		if (rc) {			printk(KERN_ERR DRV_NAME "(%s): consistent DMA mask failure\n",				pci_name(pdev));			goto err_out_regions;		}		pci_dac = 1;	} else {#endif		rc = pci_set_dma_mask(pdev, 0xffffffffULL);		if (rc) {			printk(KERN_ERR DRV_NAME "(%s): DMA mask failure\n",				pci_name(pdev));			goto err_out_regions;		}		pci_dac = 0;#if IF_64BIT_DMA_IS_POSSIBLE /* grrrr... */	}#endif	host = kmalloc(sizeof(*host), GFP_KERNEL);	if (!host) {		printk(KERN_ERR DRV_NAME "(%s): memory alloc failure\n",		       pci_name(pdev));		rc = -ENOMEM;		goto err_out_regions;	}	memset(host, 0, sizeof(*host));	host->pdev = pdev;	host->flags = pci_dac ? FL_DAC : 0;	spin_lock_init(&host->lock);	INIT_WORK(&host->fsm_task, carm_fsm_task, host);	init_MUTEX_LOCKED(&host->probe_sem);	for (i = 0; i < ARRAY_SIZE(host->req); i++)		host->req[i].tag = i;	host->mmio = ioremap(pci_resource_start(pdev, 0),			     pci_resource_len(pdev, 0));	if (!host->mmio) {		printk(KERN_ERR DRV_NAME "(%s): MMIO alloc failure\n",		       pci_name(pdev));		rc = -ENOMEM;		goto err_out_kfree;	}	rc = carm_init_shm(host);	if (rc) {		printk(KERN_ERR DRV_NAME "(%s): DMA SHM alloc failure\n",		       pci_name(pdev));		goto err_out_iounmap;	}	q = blk_init_queue(carm_oob_rq_fn, &host->lock);	if (!q) {		printk(KERN_ERR DRV_NAME "(%s): OOB queue alloc failure\n",		       pci_name(pdev));		rc = -ENOMEM;		goto err_out_pci_free;	}	host->oob_q = q;	q->queuedata = host;	/*	 * Figure out which major to use: 160, 161, or dynamic	 */	if (!test_and_set_bit(0, &carm_major_alloc))		host->major = 160;	else if (!test_and_set_bit(1, &carm_major_alloc))		host->major = 161;	else		host->flags |= FL_DYN_MAJOR;	host->id = carm_host_id;	sprintf(host->name, DRV_NAME "%d", carm_host_id);	rc = register_blkdev(host->major, host->name);	if (rc < 0)		goto err_out_free_majors;	if (host->flags & FL_DYN_MAJOR)		host->major = rc;	devfs_mk_dir(DRV_NAME);	rc = carm_init_disks(host);	if (rc)		goto err_out_blkdev_disks;	pci_set_master(pdev);	rc = request_irq(pdev->irq, carm_interrupt, SA_SHIRQ, DRV_NAME, host);	if (rc) {		printk(KERN_ERR DRV_NAME "(%s): irq alloc failure\n",		       pci_name(pdev));		goto err_out_blkdev_disks;	}	rc = carm_init_host(host);	if (rc)		goto err_out_free_irq;	DPRINTK("waiting for probe_sem\n");	down(&host->probe_sem);	printk(KERN_INFO "%s: pci %s, ports %d, io %lx, irq %u, major %d\n",	       host->name, pci_name(pdev), (int) CARM_MAX_PORTS,	       pci_resource_start(pdev, 0), pdev->irq, host->major);	carm_host_id++;	pci_set_drvdata(pdev, host);	return 0;err_out_free_irq:	free_irq(pdev->irq, host);err_out_blkdev_disks:	carm_free_disks(host);	unregister_blkdev(host->major, host->name);err_out_free_majors:	if (host->major == 160)		clear_bit(0, &carm_major_alloc);	else if (host->major == 161)		clear_bit(1, &carm_major_alloc);	blk_cleanup_queue(host->oob_q);err_out_pci_free:	pci_free_consistent(pdev, CARM_SHM_SIZE, host->shm, host->shm_dma);err_out_iounmap:	iounmap(host->mmio);err_out_kfree:	kfree(host);err_out_regions:	pci_release_regions(pdev);err_out:	pci_disable_device(pdev);	return rc;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a3948663ed89c2f17e37cd0936d964341edb193e/sx8.c/buggy/drivers/block/sx8.c