mirror of https://github.com/xqemu/xqemu.git
ahci: clear aiocb in ncq_cb
Similar to existing fixes for IDE (87ac25fd
) and ATAPI (7f951b2d
), the AIOCB must be cleared in the callback. Otherwise, we may accidentally try to reset a dangling pointer in bdrv_aio_cancel() from a port reset. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1474575040-32079-2-git-send-email-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
9da82227ca
commit
df403bc588
|
@ -948,6 +948,7 @@ static void ncq_cb(void *opaque, int ret)
|
||||||
NCQTransferState *ncq_tfs = (NCQTransferState *)opaque;
|
NCQTransferState *ncq_tfs = (NCQTransferState *)opaque;
|
||||||
IDEState *ide_state = &ncq_tfs->drive->port.ifs[0];
|
IDEState *ide_state = &ncq_tfs->drive->port.ifs[0];
|
||||||
|
|
||||||
|
ncq_tfs->aiocb = NULL;
|
||||||
if (ret == -ECANCELED) {
|
if (ret == -ECANCELED) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue