Initialize *comp_update with valid value.
I've noticed that sometimes with enabled DMAR initial write from device to this address is somehow getting delayed, triggering assertion due to zero default being invalid. MFC after: 2 weeks Sponsored by: iXsystems, Inc.
This commit is contained in:
parent
1f4a469d36
commit
348efb140e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=354753
@ -642,10 +642,9 @@ ioat3_attach(device_t device)
|
||||
dma_hw_desc->next = RING_PHYS_ADDR(ioat, i + 1);
|
||||
}
|
||||
|
||||
ioat->head = 0;
|
||||
ioat->tail = 0;
|
||||
ioat->last_seen = 0;
|
||||
*ioat->comp_update = 0;
|
||||
ioat->tail = ioat->head = 0;
|
||||
*ioat->comp_update = ioat->last_seen =
|
||||
RING_PHYS_ADDR(ioat, ioat->tail - 1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
@ -1751,8 +1750,8 @@ ioat_reset_hw(struct ioat_softc *ioat)
|
||||
* at zero as well.
|
||||
*/
|
||||
ioat->tail = ioat->head = 0;
|
||||
ioat->last_seen = 0;
|
||||
*ioat->comp_update = 0;
|
||||
*ioat->comp_update = ioat->last_seen =
|
||||
RING_PHYS_ADDR(ioat, ioat->tail - 1);
|
||||
|
||||
ioat_write_chanctrl(ioat, IOAT_CHANCTRL_RUN);
|
||||
ioat_write_chancmp(ioat, ioat->comp_update_bus_addr);
|
||||
|
Loading…
Reference in New Issue
Block a user