Luca Coelho <luca@xxxxxxxxx> wrote: > From: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> > > D3_CONFIG_CMD and D0I3_END_CMD should be the last\first > command upon suspend\resume correspondingly, otherwise, > FW will raise an assert (0x342). > > There are firmware notifications that cause the driver to > send a command back to the firmware. If such a notification > is sent to the driver while the the driver prepares the > firmware for D3, operation, what is likely to happen is that > the handling of the notification will try to get the mutex > and will wait unil the driver finished configuring the > firmware for D3. Then the handling notification will get > the mutex and handle the notification which will lead to > the aforementioned ASSERT 342. > > To avoid this, we need to prevent any command to be sent to > the firmware between the D3_CONFIG_CMD and the D0I3_END_CMD. > Check this in the utility layer that sends the host commands > and in the transport layer as well. > Flag the D3_CONFIG_CMD and the D0I3_END_CMD commands as > commands that must be sent even if the firmware has already > been configured for D3 operation. > > Signed-off-by: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> > Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> 9 patches applied to iwlwifi-next.git, thanks. 708a39aaca22 iwlwifi: mvm: don't send commands during suspend\resume transition 701625803ccc iwlwifi: mvm: csa: do not abort CSA before disconnect a1d59263e718 iwlwifi: parse phy integration string from FW TLV 33fa519ac618 iwlwifi: mvm: debugfs for phy-integration-ver 6761a718263a iwlwifi: mvm: add explicit check for non-data frames in get Tx rate 13f028b4f748 iwlwifi: tx: move handing sync/async host command to trans 9aae43a450e8 iwlwifi: mvm: simplify TX power setting 5c255a10711b iwlwifi: mvm: debugfs: check length precisely in inject_packet ddd83d328c3f iwlwifi: always allow maximum A-MSDU on newer devices