359,360d358
< assert(dcache_pkt == NULL);
<
372,375c370,375
< if (do_access) {
< dcache_pkt = new Packet(req, cmd, Packet::Broadcast);
< dcache_pkt->allocate();
< dcache_pkt->set(data);
---
> // Note: need to allocate dcache_pkt even if do_access is
> // false, as it's used unconditionally to call completeAcc().
> assert(dcache_pkt == NULL);
> dcache_pkt = new Packet(req, cmd, Packet::Broadcast);
> dcache_pkt->allocate();
> dcache_pkt->set(data);
376a377
> if (do_access) {