diff options
Diffstat (limited to 'drivers/scsi/scsi_scan.c')
-rw-r--r-- | drivers/scsi/scsi_scan.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 7d31a4b0f802..5c7e51f9efed 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -673,6 +673,7 @@ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags) | |||
673 | case TYPE_MEDIUM_CHANGER: | 673 | case TYPE_MEDIUM_CHANGER: |
674 | case TYPE_ENCLOSURE: | 674 | case TYPE_ENCLOSURE: |
675 | case TYPE_COMM: | 675 | case TYPE_COMM: |
676 | case TYPE_RAID: | ||
676 | case TYPE_RBC: | 677 | case TYPE_RBC: |
677 | sdev->writeable = 1; | 678 | sdev->writeable = 1; |
678 | break; | 679 | break; |
@@ -738,6 +739,13 @@ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags) | |||
738 | sdev->select_no_atn = 1; | 739 | sdev->select_no_atn = 1; |
739 | 740 | ||
740 | /* | 741 | /* |
742 | * Maximum 512 sector transfer length | ||
743 | * broken RA4x00 Compaq Disk Array | ||
744 | */ | ||
745 | if (*bflags & BLIST_MAX_512) | ||
746 | blk_queue_max_sectors(sdev->request_queue, 512); | ||
747 | |||
748 | /* | ||
741 | * Some devices may not want to have a start command automatically | 749 | * Some devices may not want to have a start command automatically |
742 | * issued when a device is added. | 750 | * issued when a device is added. |
743 | */ | 751 | */ |
@@ -1146,10 +1154,13 @@ static int scsi_report_lun_scan(struct scsi_target *starget, int bflags, | |||
1146 | * Also allow SCSI-2 if BLIST_REPORTLUN2 is set and host adapter does | 1154 | * Also allow SCSI-2 if BLIST_REPORTLUN2 is set and host adapter does |
1147 | * support more than 8 LUNs. | 1155 | * support more than 8 LUNs. |
1148 | */ | 1156 | */ |
1149 | if ((bflags & BLIST_NOREPORTLUN) || | 1157 | if (bflags & BLIST_NOREPORTLUN) |
1150 | starget->scsi_level < SCSI_2 || | 1158 | return 1; |
1151 | (starget->scsi_level < SCSI_3 && | 1159 | if (starget->scsi_level < SCSI_2 && |
1152 | (!(bflags & BLIST_REPORTLUN2) || shost->max_lun <= 8)) ) | 1160 | starget->scsi_level != SCSI_UNKNOWN) |
1161 | return 1; | ||
1162 | if (starget->scsi_level < SCSI_3 && | ||
1163 | (!(bflags & BLIST_REPORTLUN2) || shost->max_lun <= 8)) | ||
1153 | return 1; | 1164 | return 1; |
1154 | if (bflags & BLIST_NOLUN) | 1165 | if (bflags & BLIST_NOLUN) |
1155 | return 0; | 1166 | return 0; |