aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/linit.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/aacraid/linit.c')
-rw-r--r--drivers/scsi/aacraid/linit.c35
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 */