1. A method of operating a data processing system including a plurality of agents coupled by an interconnect, said method comprising: while data associated with a target address is cached at a first agent among the plurality of agents in a shared state, issuing on the interconnect a transaction by the first agent requesting to modify said data; in response to snooping said transaction, providing a snoop response from a second agent indicating that the second agent has a pending conflicting modifying request and providing a snoop response from a coherency decision point granting the first agent ownership of the data; and in response to the snoop responses, providing the first agent with a combined response of all of said plurality of agents that grants the first agent ownership of the data for purposes of modification.