The source of the problem is that OEMs won't go through the effort to get their kernel patches in the main tree.
Why won't they?
Why won't they?
That seems like a completely legitimate complaint? The whole point of upstreaming code is making it so that the device stays stable, current, and secure. If you just shove all the important bits into a userspace black box that can't be audited or updated, how much did you really gain?
Free beer rulez!
Even better, all the free beer OSes competing for a spot on IoT are BSD/MIT/Apache, expect zero contributions to upstream and OEMs to move away from Linux for such scenarios.