diff options
Diffstat (limited to 'drivers/scsi/aacraid/linit.c')
| -rw-r--r-- | drivers/scsi/aacraid/linit.c | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index 9b9062f02462..0bf5f9a943e8 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c | |||
| @@ -200,10 +200,10 @@ static struct aac_driver_ident aac_drivers[] = { | |||
| 200 | { aac_rkt_init, "aacraid", "ADAPTEC ", "Callisto ", 2, AAC_QUIRK_MASTER }, /* Jupiter Platform */ | 200 | { aac_rkt_init, "aacraid", "ADAPTEC ", "Callisto ", 2, AAC_QUIRK_MASTER }, /* Jupiter Platform */ |
| 201 | { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2020SA ", 1 }, /* ASR-2020SA SATA PCI-X ZCR (Skyhawk) */ | 201 | { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2020SA ", 1 }, /* ASR-2020SA SATA PCI-X ZCR (Skyhawk) */ |
| 202 | { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2025SA ", 1 }, /* ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator) */ | 202 | { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2025SA ", 1 }, /* ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator) */ |
| 203 | { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2410SA SATA ", 1 }, /* AAR-2410SA PCI SATA 4ch (Jaguar II) */ | 203 | { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2410SA SATA ", 1, AAC_QUIRK_17SG }, /* AAR-2410SA PCI SATA 4ch (Jaguar II) */ |
| 204 | { aac_rx_init, "aacraid", "DELL ", "CERC SR2 ", 1 }, /* CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) */ | 204 | { aac_rx_init, "aacraid", "DELL ", "CERC SR2 ", 1, AAC_QUIRK_17SG }, /* CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) */ |
| 205 | { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2810SA SATA ", 1 }, /* AAR-2810SA PCI SATA 8ch (Corsair-8) */ | 205 | { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2810SA SATA ", 1, AAC_QUIRK_17SG }, /* AAR-2810SA PCI SATA 8ch (Corsair-8) */ |
| 206 | { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-21610SA SATA", 1 }, /* AAR-21610SA PCI SATA 16ch (Corsair-16) */ | 206 | { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-21610SA SATA", 1, AAC_QUIRK_17SG }, /* AAR-21610SA PCI SATA 16ch (Corsair-16) */ |
| 207 | { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2026ZCR ", 1 }, /* ESD SO-DIMM PCI-X SATA ZCR (Prowler) */ | 207 | { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2026ZCR ", 1 }, /* ESD SO-DIMM PCI-X SATA ZCR (Prowler) */ |
| 208 | { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2610SA ", 1 }, /* SATA 6Ch (Bearcat) */ | 208 | { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2610SA ", 1 }, /* SATA 6Ch (Bearcat) */ |
| 209 | { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2240S ", 1 }, /* ASR-2240S (SabreExpress) */ | 209 | { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2240S ", 1 }, /* ASR-2240S (SabreExpress) */ |
| @@ -574,7 +574,15 @@ static ssize_t aac_show_model(struct class_device *class_dev, | |||
| 574 | struct aac_dev *dev = (struct aac_dev*)class_to_shost(class_dev)->hostdata; | 574 | struct aac_dev *dev = (struct aac_dev*)class_to_shost(class_dev)->hostdata; |
| 575 | int len; | 575 | int len; |
| 576 | 576 | ||
| 577 | len = snprintf(buf, PAGE_SIZE, "%s\n", | 577 | if (dev->supplement_adapter_info.AdapterTypeText[0]) { |
| 578 | char * cp = dev->supplement_adapter_info.AdapterTypeText; | ||
| 579 | while (*cp && *cp != ' ') | ||
| 580 | ++cp; | ||
| 581 | while (*cp == ' ') | ||
| 582 | ++cp; | ||
| 583 | len = snprintf(buf, PAGE_SIZE, "%s\n", cp); | ||
| 584 | } else | ||
| 585 | len = snprintf(buf, PAGE_SIZE, "%s\n", | ||
| 578 | aac_drivers[dev->cardtype].model); | 586 | aac_drivers[dev->cardtype].model); |
| 579 | return len; | 587 | return len; |
| 580 | } | 588 | } |
| @@ -585,7 +593,15 @@ static ssize_t aac_show_vendor(struct class_device *class_dev, | |||
| 585 | struct aac_dev *dev = (struct aac_dev*)class_to_shost(class_dev)->hostdata; | 593 | struct aac_dev *dev = (struct aac_dev*)class_to_shost(class_dev)->hostdata; |
| 586 | int len; | 594 | int len; |
| 587 | 595 | ||
| 588 | len = snprintf(buf, PAGE_SIZE, "%s\n", | 596 | if (dev->supplement_adapter_info.AdapterTypeText[0]) { |
| 597 | char * cp = dev->supplement_adapter_info.AdapterTypeText; | ||
| 598 | while (*cp && *cp != ' ') | ||
| 599 | ++cp; | ||
| 600 | len = snprintf(buf, PAGE_SIZE, "%.*s\n", | ||
| 601 | (int)(cp - (char *)dev->supplement_adapter_info.AdapterTypeText), | ||
| 602 | dev->supplement_adapter_info.AdapterTypeText); | ||
| 603 | } else | ||
| 604 | len = snprintf(buf, PAGE_SIZE, "%s\n", | ||
| 589 | aac_drivers[dev->cardtype].vname); | 605 | aac_drivers[dev->cardtype].vname); |
| 590 | return len; | 606 | return len; |
| 591 | } | 607 | } |
| @@ -837,6 +853,13 @@ static int __devinit aac_probe_one(struct pci_dev *pdev, | |||
| 837 | = (aac->scsi_host_ptr->sg_tablesize * 8) + 112; | 853 | = (aac->scsi_host_ptr->sg_tablesize * 8) + 112; |
| 838 | } | 854 | } |
| 839 | 855 | ||
| 856 | if ((aac_drivers[index].quirks & AAC_QUIRK_17SG) && | ||
| 857 | (aac->scsi_host_ptr->sg_tablesize > 17)) { | ||
| 858 | aac->scsi_host_ptr->sg_tablesize = 17; | ||
| 859 | aac->scsi_host_ptr->max_sectors | ||
| 860 | = (aac->scsi_host_ptr->sg_tablesize * 8) + 112; | ||
| 861 | } | ||
| 862 | |||
| 840 | /* | 863 | /* |
| 841 | * Firware printf works only with older firmware. | 864 | * Firware printf works only with older firmware. |
| 842 | */ | 865 | */ |
