diff options
| -rw-r--r-- | drivers/scsi/virtio_scsi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 7554d7856434..a7cf726bc747 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c | |||
| @@ -677,7 +677,11 @@ static int __devinit virtscsi_probe(struct virtio_device *vdev) | |||
| 677 | cmd_per_lun = virtscsi_config_get(vdev, cmd_per_lun) ?: 1; | 677 | cmd_per_lun = virtscsi_config_get(vdev, cmd_per_lun) ?: 1; |
| 678 | shost->cmd_per_lun = min_t(u32, cmd_per_lun, shost->can_queue); | 678 | shost->cmd_per_lun = min_t(u32, cmd_per_lun, shost->can_queue); |
| 679 | shost->max_sectors = virtscsi_config_get(vdev, max_sectors) ?: 0xFFFF; | 679 | shost->max_sectors = virtscsi_config_get(vdev, max_sectors) ?: 0xFFFF; |
| 680 | shost->max_lun = virtscsi_config_get(vdev, max_lun) + 1; | 680 | |
| 681 | /* LUNs > 256 are reported with format 1, so they go in the range | ||
| 682 | * 16640-32767. | ||
| 683 | */ | ||
| 684 | shost->max_lun = virtscsi_config_get(vdev, max_lun) + 1 + 0x4000; | ||
| 681 | shost->max_id = num_targets; | 685 | shost->max_id = num_targets; |
| 682 | shost->max_channel = 0; | 686 | shost->max_channel = 0; |
| 683 | shost->max_cmd_len = VIRTIO_SCSI_CDB_SIZE; | 687 | shost->max_cmd_len = VIRTIO_SCSI_CDB_SIZE; |
