I took a crack at implementing the first approach described above, which seems to be by far the simplest idea we've come up with to date. Patch attached. It doesn't seem to be that complicated, which could mean either that it's not that complicated or that I'm missing something. Feel free to point and snicker in the latter case.
Hi,
I suppose the problem is not with setting the bit, but resetting the bit. Has that been completed already?