From e9e42faf47255274a1ed0b9bf1c46118023ec5fa Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Mon, 15 Oct 2007 20:51:32 +0100 Subject: [SCSI] initio: Fix merge fallout Fix IRQ reporting - just assign the ->pci_dev pointer earlier and use the pci_dev irq field rather than keeping a private one Init the spinlock as it works better on SMP that way Signed-off-by: Alan Cox Signed-off-by: James Bottomley --- drivers/scsi/initio.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'drivers/scsi/initio.c') diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c index 22d40fd5845..4c4465d39a1 100644 --- a/drivers/scsi/initio.c +++ b/drivers/scsi/initio.c @@ -665,7 +665,7 @@ static void initio_init(struct initio_host * host, u8 *bios_addr) host->max_tags[i] = 0xFF; } /* for */ printk("i91u: PCI Base=0x%04X, IRQ=%d, BIOS=0x%04X0, SCSI ID=%d\n", - host->addr, host->irq, + host->addr, host->pci_dev->irq, host->bios_addr, host->scsi_id); /* Reset SCSI Bus */ if (host->config & HCC_SCSI_RESET) { @@ -2891,6 +2891,8 @@ static int initio_probe_one(struct pci_dev *pdev, goto out_release_region; } + host->pci_dev = pdev; + host->num_scbs = num_scb; host->scb = scb; host->next_pending = scb; @@ -2905,6 +2907,7 @@ static int initio_probe_one(struct pci_dev *pdev, host->scb_end = tmp; host->first_avail = scb; host->last_avail = prev; + spin_lock_init(&host->avail_lock); initio_init(host, phys_to_virt(bios_seg << 4)); @@ -2928,7 +2931,6 @@ static int initio_probe_one(struct pci_dev *pdev, } pci_set_drvdata(pdev, shost); - host->pci_dev = pdev; error = scsi_add_host(shost, &pdev->dev); if (error) -- cgit v1.2.3-70-g09d2