On Wed, 4 Jan 2012, Oliver Neukum wrote: > Looking at the following code from scsi.c: > > int scsi_dispatch_cmd(struct scsi_cmnd *cmd) > { ... > /* > * If SCSI-2 or lower, store the LUN value in cmnd. > */ > if (cmd->device->scsi_level <= SCSI_2 && > cmd->device->scsi_level != SCSI_UNKNOWN) { > cmd->cmnd[1] = (cmd->cmnd[1] & 0x1f) | > (cmd->device->lun << 5 & 0xe0); > > > I am really unsure whether this change is really safe. > In particular I doubt it is material for the stable tree. Well, this change just makes us more compatible with what devices are supposed to expect. But if you think it's too chancy, it can be kept out of the stable trees. Matt, what do you think? The change Oliver refers to removes the code that forces every USB device to have its scsi_level set to 2, so now we'll use the actual level reported by the device. At the same time, it adds a new mechanism to prevent the use of REPORT LUNS, which was the reason for forcing the level to 2 in the first place. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html