updating kernel source

Please see all below comments for details on pull, merge is too large to comment on..