u32 target_addr = priv->rx_start;
u16 len = priv->headroom + skb->len + priv->tailroom + 3;
- if (unlikely(WARN_ON(!skb || !priv)))
- return -EINVAL;
-
info = IEEE80211_SKB_CB(skb);
range = (void *) info->rate_driver_data;
len = (range->extra_len + len) & ~0x3;
range = (void *) info->rate_driver_data;
hole_size = range->start_addr - last_addr;
- if (!entry->next) {
- spin_unlock_irqrestore(&priv->tx_queue.lock, flags);
- return -ENOSPC;
- }
-
if (!target_skb && hole_size >= len) {
target_skb = entry->prev;
hole_size -= len;
struct sk_buff *skb;
int ret;
- if (unlikely(WARN_ON(!priv)))
- return ;
-
skb = skb_dequeue(&priv->tx_pending);
if (unlikely(!skb))
return ;
static void p54_tx_qos_accounting_free(struct p54_common *priv,
struct sk_buff *skb)
{
- if (skb && IS_DATA_FRAME(skb)) {
+ if (IS_DATA_FRAME(skb)) {
struct p54_hdr *hdr = (void *) skb->data;
struct p54_tx_data *data = (void *) hdr->data;
unsigned long flags;
void p54_tx(struct p54_common *priv, struct sk_buff *skb)
{
- if (unlikely(WARN_ON(!priv)))
- return ;
-
skb_queue_tail(&priv->tx_pending, skb);
p54_tx_pending(priv);
}