iwlwifi: pcie: enable interrupts before releasing the NIC's CPU
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 8 Jun 2016 20:07:31 +0000 (23:07 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Tue, 5 Jul 2016 23:09:54 +0000 (02:09 +0300)
commit2aabdbdc17b7c53490337bfc58de3409c84d85d2
tree012ea3e5c19b6d1d1d1da31b1e9f15584a9f7a6d
parente34d975e40ff69d55cb45f968f5ca0892e114b92
iwlwifi: pcie: enable interrupts before releasing the NIC's CPU

The NIC's CPU gets started after the firmware has been
written to its memory. The first thing it does is to
send an interrupt to let the driver know that it is
running. In order to get that interrupt, the driver needs
to make sure it is not masked. Of course, the interrupt
needs to be enabled in the driver before the CPU starts to
run.
I mistakenly inversed those two steps leading to races
which prevented the driver from getting the alive interrupt
from the firmware.
Fix that.

Cc: <stable@vger.kernel.org> [4.5+]
Fixes: a6bd005fe92 ("iwlwifi: pcie: fix RF-Kill vs. firmware load race")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/trans.c