It's not the Linux kernel as a whole that's at issue, it's an IBM driver within the kernel. If they wanted to work on some unrelated part of the kernel it doesn't sound like that'd be an issue.
That does make more sense. IBM probably has a dedicated team of engineers working on that driver, and they also have the power to keep unrelated employees from working on it, and so they will do so (in order to keep the driver's development going through the official chain of command, and not having to loop in some random employee in another group).
Since when parts of the kernel are governed differently than other parts?
It is code _within_ the official kernel, not some module in a dark alley git server at IBM.