vdcf = (struct p54_tx_control_vdcf *)(((struct p54_control_hdr *)
                ((void *)priv->cached_vdcf + priv->tx_hdr_len))->data);
 
-       if ((params) && !((queue < 0) || (queue > 4))) {
+       if ((params) && !(queue > 4)) {
                P54_SET_QUEUE(vdcf->queue[queue], params->aifs,
                        params->cw_min, params->cw_max, params->txop);
        } else
 
                rcu_read_unlock();
        }
 
-       if (unlikely(queue < 0)) {
-                       kfree_skb(skb);
-                       err = NET_XMIT_DROP;
-       } else {
-               tid = skb->priority & QOS_CONTROL_TAG1D_MASK;
-               pkt_data->queue = (unsigned int) queue;
-               qdisc = q->queues[queue];
-               err = qdisc->enqueue(skb, qdisc);
-               if (err == NET_XMIT_SUCCESS) {
-                       qd->q.qlen++;
-                       qd->bstats.bytes += skb->len;
-                       qd->bstats.packets++;
-                       return NET_XMIT_SUCCESS;
-               }
+       tid = skb->priority & QOS_CONTROL_TAG1D_MASK;
+       pkt_data->queue = (unsigned int) queue;
+       qdisc = q->queues[queue];
+       err = qdisc->enqueue(skb, qdisc);
+       if (err == NET_XMIT_SUCCESS) {
+               qd->q.qlen++;
+               qd->bstats.bytes += skb->len;
+               qd->bstats.packets++;
+               return NET_XMIT_SUCCESS;
        }
        qd->qstats.drops++;
        return err;