From d5b4eb4016e70ae4d80367306c826deb0defc04c Mon Sep 17 00:00:00 2001 From: aliguori Date: Wed, 19 Nov 2008 15:03:36 +0000 Subject: [PATCH] Fix media detection on emulated CDROM (Gary Grebus) This patch tweaks the ATAPI CDROM emulation to fix an annoyance seen when running a variety of Linux guests: the desktop GUI shows a CDROM device as present, but is unable to automount the media and display its contents. The patch adds the PLAY_AUDIO capability bit to the data returned by MODE_SENSE commands. That convinces the guest kernel to determine what kind of media is present. Arguably Linux could be smarter about this, but it's my guess there are few (if any) hardware CDROM drives that don't set the bit, and there are a large number of Linux distros that exhibit this problem. Signed-off-by: Gary Grebus Signed-off-by: Anthony Liguori git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5752 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/ide.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/ide.c b/hw/ide.c index 8a1957831d..9f217cc574 100644 --- a/hw/ide.c +++ b/hw/ide.c @@ -1603,7 +1603,9 @@ static void ide_atapi_cmd(IDEState *s) buf[10] = 0x00; buf[11] = 0x00; - buf[12] = 0x70; + /* Claim PLAY_AUDIO capability (0x01) since some Linux + code checks for this to automount media. */ + buf[12] = 0x71; buf[13] = 3 << 5; buf[14] = (1 << 0) | (1 << 3) | (1 << 5); if (bdrv_is_locked(s->bs))