aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/scsi_scan.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index 13228312fc4d..b83d03c4deef 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -742,6 +742,14 @@ static int scsi_add_lun(struct scsi_device *sdev, unsigned char *inq_result,
742 sdev->no_uld_attach = 1; 742 sdev->no_uld_attach = 1;
743 743
744 switch (sdev->type = (inq_result[0] & 0x1f)) { 744 switch (sdev->type = (inq_result[0] & 0x1f)) {
745 case TYPE_RBC:
746 /* RBC devices can return SCSI-3 compliance and yet
747 * still not support REPORT LUNS, so make them act as
748 * BLIST_NOREPORTLUN unless BLIST_REPORTLUN2 is
749 * specifically set */
750 if ((*bflags & BLIST_REPORTLUN2) == 0)
751 *bflags |= BLIST_NOREPORTLUN;
752 /* fall through */
745 case TYPE_TAPE: 753 case TYPE_TAPE:
746 case TYPE_DISK: 754 case TYPE_DISK:
747 case TYPE_PRINTER: 755 case TYPE_PRINTER:
@@ -752,11 +760,17 @@ static int scsi_add_lun(struct scsi_device *sdev, unsigned char *inq_result,
752 case TYPE_ENCLOSURE: 760 case TYPE_ENCLOSURE:
753 case TYPE_COMM: 761 case TYPE_COMM:
754 case TYPE_RAID: 762 case TYPE_RAID:
755 case TYPE_RBC:
756 sdev->writeable = 1; 763 sdev->writeable = 1;
757 break; 764 break;
758 case TYPE_WORM:
759 case TYPE_ROM: 765 case TYPE_ROM:
766 /* MMC devices can return SCSI-3 compliance and yet
767 * still not support REPORT LUNS, so make them act as
768 * BLIST_NOREPORTLUN unless BLIST_REPORTLUN2 is
769 * specifically set */
770 if ((*bflags & BLIST_REPORTLUN2) == 0)
771 *bflags |= BLIST_NOREPORTLUN;
772 /* fall through */
773 case TYPE_WORM:
760 sdev->writeable = 0; 774 sdev->writeable = 0;
761 break; 775 break;
762 default: 776 default: