struct sk_buff_head *skbs)
 {
        struct iwl_txq *txq = trans->txqs.txq[txq_id];
-       int tfd_num = iwl_txq_get_cmd_index(txq, ssn);
-       int read_ptr = iwl_txq_get_cmd_index(txq, txq->read_ptr);
-       int last_to_free;
+       int tfd_num, read_ptr, last_to_free;
 
        /* This function is not meant to release cmd queue*/
        if (WARN_ON(txq_id == trans->txqs.cmd.q_id))
                return;
 
+       if (WARN_ON(!txq))
+               return;
+
+       tfd_num = iwl_txq_get_cmd_index(txq, ssn);
+       read_ptr = iwl_txq_get_cmd_index(txq, txq->read_ptr);
+
        spin_lock_bh(&txq->lock);
 
        if (!test_bit(txq_id, trans->txqs.queue_used)) {