Which is also the Apple approach. Mac OS is pretty terrible at sleep and wake on non-Apple hardware, but of course it is, Apple doesn't test against hardware they don't support. In both cases it isn't anything wrong with the Linux or Darwin kernels, it's inconsistent implementations and little manufacturer care.