I agree, there are a couple options here:
 * do it this way but return an error value to the caller so it can check if the disable was successful (right now don't know if disabling was successful
 * force it without waiting for those flags (not sure what the ramifications of this are)
 * use a busy wait
Two options would be better I think.