UPDATE: I’ve pushed this to drm master.
The radeon drm did not do the right thing in all cases for r3xx based chips since it was initially reverse engineered. I’ve gone through and started fixing up the deltas between r1/2xx and r3/4/5xx. Users with IGP chips should test as well (especially RS4xx XPRESS chips). If you had an XPRESS chip that used to lock immediately when the DRI was enabled, please test. Note that some XPRESS chips default to DRI=false for just this reason. If you have one of these chips, please try this branch and set:
Option "DRI" "TRUE" in the device section of your xorg.conf.
The code is on the r345-cleanup branch of my drm tree: