[aacraid] Add missing unmap call for SYNC mode

This issue was observed on a PowerPC64 machine with an Adaptec RAID Controller
with PCI device ID 0x028d. After several read/write operations, the kernel was
panic'ing in bus_dmamap_sync(). This was due to a missing aac_unmap_command()
in the SYNC path.

PR:	237463
Reviewed by:	jhibbits
Differential Revision:	https://reviews.freebsd.org/D23668
This commit is contained in:
Leandro Lupori 2020-03-04 12:21:38 +00:00
parent 0e5670a9a0
commit cffdc39e5e

View File

@ -903,6 +903,7 @@ aacraid_new_intr_type1(void *arg)
if (mode & AAC_INT_MODE_SYNC) { if (mode & AAC_INT_MODE_SYNC) {
if (sc->aac_sync_cm) { if (sc->aac_sync_cm) {
cm = sc->aac_sync_cm; cm = sc->aac_sync_cm;
aac_unmap_command(cm);
cm->cm_flags |= AAC_CMD_COMPLETED; cm->cm_flags |= AAC_CMD_COMPLETED;
/* is there a completion handler? */ /* is there a completion handler? */
if (cm->cm_complete != NULL) { if (cm->cm_complete != NULL) {