aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic94xx
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-15 11:19:33 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-15 11:19:33 -0400
commitdf3d80f5a5c74168be42788364d13cf6c83c7b9c (patch)
tree892a964c2fd28d028f2fb7471e8543d3f4006a58 /drivers/scsi/aic94xx
parent3d06f7a5f74a813cee817c4b30b5e6f0398da0be (diff)
parentc8e91b0a8fc8493e3bf3efcb3c8f866e9453cf1c (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (207 commits) [SCSI] gdth: fix CONFIG_ISA build failure [SCSI] esp_scsi: remove __dev{init,exit} [SCSI] gdth: !use_sg cleanup and use of scsi accessors [SCSI] gdth: Move members from SCp to gdth_cmndinfo, stage 2 [SCSI] gdth: Setup proper per-command private data [SCSI] gdth: Remove gdth_ctr_tab[] [SCSI] gdth: switch to modern scsi host registration [SCSI] gdth: gdth_interrupt() gdth_get_status() & gdth_wait() fixes [SCSI] gdth: clean up host private data [SCSI] gdth: Remove virt hosts [SCSI] gdth: Reorder scsi_host_template intitializers [SCSI] gdth: kill gdth_{read,write}[bwl] wrappers [SCSI] gdth: Remove 2.4.x support, in-kernel changelog [SCSI] gdth: split out pci probing [SCSI] gdth: split out eisa probing [SCSI] gdth: split out isa probing gdth: Make one abuse of scsi_cmnd less obvious [SCSI] NCR5380: Use scsi_eh API for REQUEST_SENSE invocation [SCSI] usb storage: use scsi_eh API in REQUEST_SENSE execution [SCSI] scsi_error: Refactoring scsi_error to facilitate in synchronous REQUEST_SENSE ...
Diffstat (limited to 'drivers/scsi/aic94xx')
-rw-r--r--drivers/scsi/aic94xx/aic94xx_hwi.h12
-rw-r--r--drivers/scsi/aic94xx/aic94xx_init.c42
-rw-r--r--drivers/scsi/aic94xx/aic94xx_task.c2
3 files changed, 19 insertions, 37 deletions
diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.h b/drivers/scsi/aic94xx/aic94xx_hwi.h
index c6c3d18222fa..491e5d8a98bc 100644
--- a/drivers/scsi/aic94xx/aic94xx_hwi.h
+++ b/drivers/scsi/aic94xx/aic94xx_hwi.h
@@ -40,18 +40,6 @@
40#define ASD_MAX_PHYS 8 40#define ASD_MAX_PHYS 8
41#define ASD_PCBA_SN_SIZE 12 41#define ASD_PCBA_SN_SIZE 12
42 42
43/* Those are to be further named properly, the "RAZORx" part, and
44 * subsequently included in include/linux/pci_ids.h.
45 */
46#define PCI_DEVICE_ID_ADAPTEC2_RAZOR10 0x410
47#define PCI_DEVICE_ID_ADAPTEC2_RAZOR12 0x412
48#define PCI_DEVICE_ID_ADAPTEC2_RAZOR1E 0x41E
49#define PCI_DEVICE_ID_ADAPTEC2_RAZOR1F 0x41F
50#define PCI_DEVICE_ID_ADAPTEC2_RAZOR30 0x430
51#define PCI_DEVICE_ID_ADAPTEC2_RAZOR32 0x432
52#define PCI_DEVICE_ID_ADAPTEC2_RAZOR3E 0x43E
53#define PCI_DEVICE_ID_ADAPTEC2_RAZOR3F 0x43F
54
55struct asd_ha_addrspace { 43struct asd_ha_addrspace {
56 void __iomem *addr; 44 void __iomem *addr;
57 unsigned long start; /* pci resource start */ 45 unsigned long start; /* pci resource start */
diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
index 63bcde246447..b70d6e7f96e9 100644
--- a/drivers/scsi/aic94xx/aic94xx_init.c
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
@@ -583,7 +583,7 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
583 asd_ha = kzalloc(sizeof(*asd_ha), GFP_KERNEL); 583 asd_ha = kzalloc(sizeof(*asd_ha), GFP_KERNEL);
584 if (!asd_ha) { 584 if (!asd_ha) {
585 asd_printk("out of memory\n"); 585 asd_printk("out of memory\n");
586 goto Err; 586 goto Err_put;
587 } 587 }
588 asd_ha->pcidev = dev; 588 asd_ha->pcidev = dev;
589 asd_ha->sas_ha.dev = &asd_ha->pcidev->dev; 589 asd_ha->sas_ha.dev = &asd_ha->pcidev->dev;
@@ -600,14 +600,12 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
600 shost->max_cmd_len = 16; 600 shost->max_cmd_len = 16;
601 601
602 err = scsi_add_host(shost, &dev->dev); 602 err = scsi_add_host(shost, &dev->dev);
603 if (err) { 603 if (err)
604 scsi_host_put(shost);
605 goto Err_free; 604 goto Err_free;
606 }
607 605
608 err = asd_dev->setup(asd_ha); 606 err = asd_dev->setup(asd_ha);
609 if (err) 607 if (err)
610 goto Err_free; 608 goto Err_remove;
611 609
612 err = -ENODEV; 610 err = -ENODEV;
613 if (!pci_set_dma_mask(dev, DMA_64BIT_MASK) 611 if (!pci_set_dma_mask(dev, DMA_64BIT_MASK)
@@ -618,14 +616,14 @@ static int __devinit asd_pci_probe(struct pci_dev *dev,
618 ; 616 ;
619 else { 617 else {
620 asd_printk("no suitable DMA mask for %s\n", pci_name(dev)); 618 asd_printk("no suitable DMA mask for %s\n", pci_name(dev));
621 goto Err_free; 619 goto Err_remove;
622 } 620 }
623 621
624 pci_set_drvdata(dev, asd_ha); 622 pci_set_drvdata(dev, asd_ha);
625 623
626 err = asd_map_ha(asd_ha); 624 err = asd_map_ha(asd_ha);
627 if (err) 625 if (err)
628 goto Err_free; 626 goto Err_remove;
629 627
630 err = asd_create_ha_caches(asd_ha); 628 err = asd_create_ha_caches(asd_ha);
631 if (err) 629 if (err)
@@ -692,9 +690,12 @@ Err_free_cache:
692 asd_destroy_ha_caches(asd_ha); 690 asd_destroy_ha_caches(asd_ha);
693Err_unmap: 691Err_unmap:
694 asd_unmap_ha(asd_ha); 692 asd_unmap_ha(asd_ha);
693Err_remove:
694 scsi_remove_host(shost);
695Err_free: 695Err_free:
696 kfree(asd_ha); 696 kfree(asd_ha);
697 scsi_remove_host(shost); 697Err_put:
698 scsi_host_put(shost);
698Err: 699Err:
699 pci_disable_device(dev); 700 pci_disable_device(dev);
700 return err; 701 return err;
@@ -829,22 +830,15 @@ static struct sas_domain_function_template aic94xx_transport_functions = {
829}; 830};
830 831
831static const struct pci_device_id aic94xx_pci_table[] __devinitdata = { 832static const struct pci_device_id aic94xx_pci_table[] __devinitdata = {
832 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_RAZOR10), 833 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x410),0, 0, 1},
833 0, 0, 1}, 834 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x412),0, 0, 1},
834 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_RAZOR12), 835 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x416),0, 0, 1},
835 0, 0, 1}, 836 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x41E),0, 0, 1},
836 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_RAZOR1E), 837 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x41F),0, 0, 1},
837 0, 0, 1}, 838 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x430),0, 0, 2},
838 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_RAZOR1F), 839 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x432),0, 0, 2},
839 0, 0, 1}, 840 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x43E),0, 0, 2},
840 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_RAZOR30), 841 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x43F),0, 0, 2},
841 0, 0, 2},
842 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_RAZOR32),
843 0, 0, 2},
844 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_RAZOR3E),
845 0, 0, 2},
846 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, PCI_DEVICE_ID_ADAPTEC2_RAZOR3F),
847 0, 0, 2},
848 {} 842 {}
849}; 843};
850 844
diff --git a/drivers/scsi/aic94xx/aic94xx_task.c b/drivers/scsi/aic94xx/aic94xx_task.c
index ab13824df856..f2b23e01401a 100644
--- a/drivers/scsi/aic94xx/aic94xx_task.c
+++ b/drivers/scsi/aic94xx/aic94xx_task.c
@@ -207,7 +207,7 @@ static void asd_get_response_tasklet(struct asd_ascb *ascb,
207 "stat(0x%x) is not CHECK_CONDITION" 207 "stat(0x%x) is not CHECK_CONDITION"
208 "\n", 208 "\n",
209 SAS_ADDR(task->dev->sas_addr), 209 SAS_ADDR(task->dev->sas_addr),
210 ts->stat); 210 iu->status);
211 } 211 }
212 } 212 }
213 } else { 213 } else {