The previous patch did not even compile on any possible platform or C standard. That commit also didn't have a proper commit message.
Android ships Linux with a different signature for ioctl. They first released an ioctl with int as request type, and later "fixed" it by adding an override with unsign, which is still not matching Linux and BSD implementation which uses unsigned long int.
Fixes !24 (merged)