Now looking more closely at the code again, I noticed that I have misunderstood the upstream fix. I thought somehow it changed the default behavior of rtl8821ae, but instead, it just adds the new option int_clear. So, it's obvious that the previous tentative fix works while the new one doesn't. The previous fix enabled int_clear behavior forcibly. To defense myself, the option description is confusing, too. The default value of int_clear is 1 although it's mentioned to be 0. And yet, if int_clear is 0, the driver clears interrupts before enable. Hmm...