Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e30809fd authored by Al Viro's avatar Al Viro
Browse files

[PATCH] don't mangle INQUIRY if cmddt or evpd bits are set



sbp2.c mangles INQUIRY response in a way that only applies to standard
inquiry data (i.e. when both cmddt and evpd bits are 0).  Leave other cases
alone; e.g. when asking for VPD the length of reply is in byte 3, not 4
and byte 4 is the first byte of device serial number.

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent ef20c8c1
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -2082,9 +2082,7 @@ static void sbp2_check_sbp2_response(struct scsi_id_instance_data *scsi_id,

	SBP2_DEBUG("sbp2_check_sbp2_response");

	switch (SCpnt->cmnd[0]) {

	case INQUIRY:
	if (SCpnt->cmnd[0] == INQUIRY && (SCpnt->cmnd[1] & 3) == 0) {
		/*
		 * Make sure data length is ok. Minimum length is 36 bytes
		 */
@@ -2097,13 +2095,7 @@ static void sbp2_check_sbp2_response(struct scsi_id_instance_data *scsi_id,
		 */
		scsi_buf[2] |= 2;
		scsi_buf[3] = (scsi_buf[3] & 0xf0) | 2;

		break;

	default:
		break;
	}
	return;
}

/*