aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/aacraid/aachba.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
index 970a8d99107a..62d95165d2a6 100644
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -716,16 +716,21 @@ static void setinqstr(struct aac_dev *dev, void *data, int tindex)
716 716
717 if (dev->supplement_adapter_info.AdapterTypeText[0]) { 717 if (dev->supplement_adapter_info.AdapterTypeText[0]) {
718 char * cp = dev->supplement_adapter_info.AdapterTypeText; 718 char * cp = dev->supplement_adapter_info.AdapterTypeText;
719 int c = sizeof(str->vid); 719 int c;
720 while (*cp && *cp != ' ' && --c) 720 if ((cp[0] == 'A') && (cp[1] == 'O') && (cp[2] == 'C'))
721 ++cp; 721 inqstrcpy("SMC", str->vid);
722 c = *cp; 722 else {
723 *cp = '\0'; 723 c = sizeof(str->vid);
724 inqstrcpy (dev->supplement_adapter_info.AdapterTypeText, 724 while (*cp && *cp != ' ' && --c)
725 str->vid); 725 ++cp;
726 *cp = c; 726 c = *cp;
727 while (*cp && *cp != ' ') 727 *cp = '\0';
728 ++cp; 728 inqstrcpy (dev->supplement_adapter_info.AdapterTypeText,
729 str->vid);
730 *cp = c;
731 while (*cp && *cp != ' ')
732 ++cp;
733 }
729 while (*cp == ' ') 734 while (*cp == ' ')
730 ++cp; 735 ++cp;
731 /* last six chars reserved for vol type */ 736 /* last six chars reserved for vol type */