ioctl call with write more than 1MB fails

I m facing issue in sending write command with data >1Mb via ioctl .
Less than 1Mb it passes, but greater than 1Mb, command fails at the blk_rq_map_user (map user data to a request) with return status of -22.