1
0

fix deadlock in coherence hub

This commit is contained in:
Andrew Waterman 2012-08-03 19:00:03 -07:00
parent e346f21725
commit 875f3622af

View File

@ -101,8 +101,8 @@ class XactTracker(ntiles: Int, id: Int, co: CoherencePolicy) extends Component {
cmd_sent := Bool(true) cmd_sent := Bool(true)
} }
when (at_front_of_dep_queue) { when (at_front_of_dep_queue) {
req_cmd.valid := !cmd_sent && req_data.ready req_cmd.valid := !cmd_sent && req_data.ready && data.valid
lock := Bool(true) lock := data.valid || cmd_sent
when (req_cmd.ready || cmd_sent) { when (req_cmd.ready || cmd_sent) {
req_data.valid := data.valid req_data.valid := data.valid
when(req_data.ready) { when(req_data.ready) {