Ignore:
Timestamp:
Mar 29, 2010, 6:13:12 PM (15 years ago)
Author:
guthmull
Message:

Fix a deadlock issue on the coherency network

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/vci_mem_cache_v4/caba/source/src/vci_mem_cache_v4.cpp

    r2 r5  
    12911291
    12921292          if ( no_update )      r_write_fsm = WRITE_RSP;
    1293           else                  r_write_fsm = WRITE_UPT_LOCK;
     1293          else                 
     1294            if( !r_write_to_init_cmd_multi_req.read() &&
     1295              !r_write_to_init_cmd_brdcast_req.read()  )
     1296                r_write_fsm = WRITE_UPT_LOCK;
     1297            else
     1298                r_write_fsm = WRITE_WAIT;
    12941299          break;
    12951300        }
     
    27282733            std::cout << "SC, shared line" << std::endl;
    27292734#endif
    2730             r_llsc_fsm = SC_UPT_LOCK;
     2735
     2736            if( !r_llsc_to_init_cmd_multi_req.read() &&
     2737                !r_llsc_to_init_cmd_brdcast_req.read()  )
     2738                r_llsc_fsm = SC_UPT_LOCK;
     2739            else
     2740                r_llsc_fsm = SC_WAIT;
    27312741          } else {
    27322742            r_llsc_fsm = SC_RSP_TRUE;
Note: See TracChangeset for help on using the changeset viewer.