Working version for linux 3.10 kernel