|
@@ -1467,8 +1467,12 @@ static inline int ofld_send(struct adapter *adap, struct sk_buff *skb)
|
|
|
{
|
|
|
unsigned int idx = skb_txq(skb);
|
|
|
|
|
|
- if (unlikely(is_ctrl_pkt(skb)))
|
|
|
+ if (unlikely(is_ctrl_pkt(skb))) {
|
|
|
+ /* Single ctrl queue is a requirement for LE workaround path */
|
|
|
+ if (adap->tids.nsftids)
|
|
|
+ idx = 0;
|
|
|
return ctrl_xmit(&adap->sge.ctrlq[idx], skb);
|
|
|
+ }
|
|
|
return ofld_xmit(&adap->sge.ofldtxq[idx], skb);
|
|
|
}
|
|
|
|