You might want to familiarize yourself with linux-next, and linux-staging. Linux-next is like a pre-RC, i.e. BETA. Linux-staging is like a pre-pre-RC, i.e. ALPHA. You have your completely insane changes that will break all kinds of things in their current form.... they go into linux-staging, which you can pretty well assume will be so completely broken that it might eat your dog. At some point, if it cleans up reasonably well and starts to shape up into something useful, it ends up in next, which is basically what the NEXT kernel version will become.... i.e., the current RC is 2.6.36, so next has stuff that you can expect to see going into 2.6.37... i.e. 2.6.37 BETA. These are big changes, but not so big that they pose any particularly major risk -- they've already passed staging (if applicable) and most likely they will build and run.
Now you want to make some MAJOR architectural changes that will wreak all kinds of havoc.... that goes into staging. If other stuff breaks in a major way, it may be your responsibility to fix it.
Of course, not everything can just get dumped into staging... it still has to pass some basic tests and convince those in charge that it is worthy.... in other words, it can't just be raw insanity.
So... if you're just interested in fixing bugs, then it will probably just go straight in as a bug fix to be incorporated in the next point release. A little more significant of a change and it goes in next. Major, but well conceived architectural change and it goes in staging. Complete insanity and it goes nowhere.