From patchwork Tue Aug 31 09:22:33 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2, 5/6] scsi-disk: return CHECK CONDITION for unknown page codes in the MODE SENSE command Date: Mon, 30 Aug 2010 23:22:33 -0000 From: Bernhard Kohl X-Patchwork-Id: 63216 Message-Id: <1283246554-10253-6-git-send-email-bernhard.kohl@nsn.com> To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, Bernhard Kohl SCSI-Spec: http://ldkelley.com/SCSI2/SCSI2/SCSI2-08.html#8.2.10 "An initiator may request any one or all of the supported mode pages from a target. If an initiator issues a MODE SENSE command with a page code value not implemented by the target, the target shall return CHECK CONDITION status and shall set the sense key to ILLEGAL REQUEST and the additional sense code to INVALID FIELD IN CDB." Signed-off-by: Bernhard Kohl --- hw/scsi-disk.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c index aef9199..0041038 100644 --- a/hw/scsi-disk.c +++ b/hw/scsi-disk.c @@ -690,6 +690,8 @@ static int scsi_disk_emulate_mode_sense(SCSIRequest *req, uint8_t *outbuf) p += mode_sense_page(req, 0x08, p, page_control); p += mode_sense_page(req, 0x2a, p, page_control); break; + default: + return -1; /* ILLEGAL_REQUEST */ } buflen = p - outbuf;