if (unlikely(test_bit(STATUS_FW_ERROR, &trans->status)))
                return -EIO;
 
-       if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
+       if (WARN_ON_ONCE(trans->state != IWL_TRANS_FW_ALIVE)) {
                IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state);
+               return -EIO;
+       }
 
        return trans->ops->tx(trans, skb, dev_cmd, queue);
 }
 static inline void iwl_trans_reclaim(struct iwl_trans *trans, int queue,
                                     int ssn, struct sk_buff_head *skbs)
 {
-       if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
+       if (WARN_ON_ONCE(trans->state != IWL_TRANS_FW_ALIVE)) {
                IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state);
+               return;
+       }
 
        trans->ops->reclaim(trans, queue, ssn, skbs);
 }
 {
        might_sleep();
 
-       if (unlikely((trans->state != IWL_TRANS_FW_ALIVE)))
+       if (WARN_ON_ONCE(trans->state != IWL_TRANS_FW_ALIVE)) {
                IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state);
+               return;
+       }
 
        trans->ops->txq_enable(trans, queue, ssn, cfg, queue_wdg_timeout);
 }
                                              unsigned long txqs,
                                              bool freeze)
 {
-       if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
+       if (WARN_ON_ONCE(trans->state != IWL_TRANS_FW_ALIVE)) {
                IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state);
+               return;
+       }
 
        if (trans->ops->freeze_txq_timer)
                trans->ops->freeze_txq_timer(trans, txqs, freeze);
 static inline void iwl_trans_block_txq_ptrs(struct iwl_trans *trans,
                                            bool block)
 {
-       if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
+       if (WARN_ON_ONCE(trans->state != IWL_TRANS_FW_ALIVE)) {
                IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state);
+               return;
+       }
 
        if (trans->ops->block_txq_ptrs)
                trans->ops->block_txq_ptrs(trans, block);
 static inline int iwl_trans_wait_tx_queue_empty(struct iwl_trans *trans,
                                                u32 txqs)
 {
-       if (unlikely(trans->state != IWL_TRANS_FW_ALIVE))
+       if (WARN_ON_ONCE(trans->state != IWL_TRANS_FW_ALIVE)) {
                IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state);
+               return -EIO;
+       }
 
        return trans->ops->wait_tx_queue_empty(trans, txqs);
 }