[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [block PATCH v2 0/3] AHCI device fixes
From: |
John Snow |
Subject: |
Re: [Qemu-devel] [block PATCH v2 0/3] AHCI device fixes |
Date: |
Mon, 03 Nov 2014 14:51:45 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 |
On 11/03/2014 07:35 AM, Paolo Bonzini wrote:
On 31/10/2014 21:03, John Snow wrote:
- Adjust the prepare_buf() callback to return, simply, the number
of bytes it was able to prepare, or -1 on error. This resolves
an ambiguity around the nature of its return code meaning
"no sectors" or "no bytes" which led to bad error pathways.
Much nicer! Sounds obvious, but hindsight is 20/20...
John Snow (3):
ide: repair PIO transfers for cases where nsector > 1
ahci: unify sglist preparation
ide: Correct handling of malformed/short PRDTs
hw/ide/ahci.c | 33 ++++++++++++++++++++++++++-------
hw/ide/core.c | 14 ++++++++++++--
hw/ide/internal.h | 13 +++++++------
hw/ide/macio.c | 7 ++++++-
hw/ide/pci.c | 27 +++++++++++++++++++++------
5 files changed, 72 insertions(+), 22 deletions(-)
Reviewed-by: Paolo Bonzini <address@hidden>
Paolo
There is a trivial fix to be made in hw/ide/ahci.c:
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 27f078d..f49be9f 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -791,7 +791,7 @@ static int ahci_populate_sglist(AHCIDevice *ad,
QEMUSGList *sglist,
}
if ((off_idx == -1) || (off_pos < 0) || (off_pos >
tbl_entry_size)) {
DPRINTF(ad->port_no, "%s: Incorrect offset! "
- "off_idx: %d, off_pos: %d\n",
+ "off_idx: %d, off_pos: %"PRId64"\n",
__func__, off_idx, off_pos);
r = -1;
goto out;
Missed this one because it's under a debugging #ifdef. I will fix it
myself if a v3 is warranted otherwise.
--js
trivial.diff
Description: Text Data