At some kernel version (I don't remember exactly, 4.12 most probably) the patch stopped working for me. So I spent a bit of time to debug it (via printk). And for me (HP Probook 4720s) the field priv->info.capabilities had bit 1 equal to zero (a-la value xxxxxxxx xxxxxxxx xxxxxx0x). So, masked with 0xD000FF it returned 0xD00071 instead of 0xD00073.

I don't know what these magic numbers mean, but what I did is changed the mask from 0xD000FF to 0xD000FD to skip checking this 1st bit and it works for me now.