111c111
< if (!cpkt->memInhibitAsserted()) {
---
> if (!cpkt->cacheResponding()) {
211c211
< (cpkt->isInvalidate() == cpkt->needsExclusive()));
---
> (cpkt->isInvalidate() == cpkt->needsWritable()));
236c236
< assert(cpkt->memInhibitAsserted());
---
> assert(cpkt->cacheResponding());
261,262c261,262
< if (cpkt->needsExclusive() || !cpkt->sharedAsserted()) {
< DPRINTF(SnoopFilter, "%s: dropping %x because needs: %i shared: %i "\
---
> if (cpkt->needsWritable() || !cpkt->hasSharers()) {
> DPRINTF(SnoopFilter, "%s: dropping %x because needs: %i writable: %i "\
264c264
< cpkt->needsExclusive(), cpkt->sharedAsserted(),
---
> cpkt->needsWritable(), !cpkt->hasSharers(),
290c290
< assert(cpkt->memInhibitAsserted());
---
> assert(cpkt->cacheResponding());
308c308
< if (cpkt->needsExclusive()) {
---
> if (cpkt->needsWritable()) {
348c348
< if (cpkt->needsExclusive() || !cpkt->sharedAsserted())
---
> if (cpkt->needsWritable() || !cpkt->hasSharers())