if (!is_s2io_card_up(sp)) {
                DBG_PRINT(TX_DBG, "%s: Card going down for reset\n",
                          dev->name);
-               dev_kfree_skb(skb);
+               dev_kfree_skb_any(skb);
                return NETDEV_TX_OK;
        }
 
            ((put_off+1) == queue_len ? 0 : (put_off+1)) == get_off) {
                DBG_PRINT(TX_DBG, "Error in xmit, No free TXDs.\n");
                s2io_stop_tx_queue(sp, fifo->fifo_no);
-               dev_kfree_skb(skb);
+               dev_kfree_skb_any(skb);
                spin_unlock_irqrestore(&fifo->tx_lock, flags);
                return NETDEV_TX_OK;
        }
        swstats->pci_map_fail_cnt++;
        s2io_stop_tx_queue(sp, fifo->fifo_no);
        swstats->mem_freed += skb->truesize;
-       dev_kfree_skb(skb);
+       dev_kfree_skb_any(skb);
        spin_unlock_irqrestore(&fifo->tx_lock, flags);
        return NETDEV_TX_OK;
 }