From 4484011767b6fe14229a744f3e8deeaabdf7ad88 Mon Sep 17 00:00:00 2001 From: OBattler Date: Mon, 20 Nov 2017 05:53:08 +0100 Subject: [PATCH] The CD-ROM READ DISC INFORMATION command now takes the allocated length field into account when determining the length of data to send, fixes Kurumin Linux on ATAPI DMA. --- src/cdrom/cdrom.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/cdrom/cdrom.c b/src/cdrom/cdrom.c index fa1c0e033..b016aa008 100644 --- a/src/cdrom/cdrom.c +++ b/src/cdrom/cdrom.c @@ -2563,7 +2563,7 @@ cdrom_readtoc_fallback: alloc_length <<= 8; alloc_length |= cdbufferb[1]; alloc_length += 2; - len = MIN(len, alloc_length); + len = alloc_length; } else { memset(cdbufferb, 0, 34); memset(cdbufferb, 1, 9); @@ -2575,6 +2575,9 @@ cdrom_readtoc_fallback: len=34; } + len = MIN(len, max_len); + pclog("READ_DISC_INFORMATION: len = %i\n", len); + cdrom_set_buf_len(id, BufLen, &len); cdrom_data_command_finish(id, len, len, len, 0);