Hi Jeff, Patch against 2.6-test6. - lmc_ioctl was calling copy_{from|to}_user with the device lock held, replace it with finer-grained locking; - Remove check_version usage; - If copy_from_user fails, returns -EFAULT instead of -ENOMEM; I didn't acquire the device lock before calling lmc_proto_ioctl, which will call syncppp ioctls, which will might call copy_{to|from}_user, but I think the locking shouldn't be done on that layer of the driver. (maybe on lmc_proto_main?) I'm not sure I locked everywhere I was suppose to lock, please review. If it looks ok, please consider applying, Thanks. Felipe