[PATCH] airo: Don't check for NULL before kfree()
[cascardo/linux.git] / drivers / net / spider_net.c
index 3b91af8..230da14 100644 (file)
@@ -719,8 +719,8 @@ spider_net_prepare_tx_descr(struct spider_net_card *card,
                        SPIDER_NET_DESCR_CARDOWNED | SPIDER_NET_DMAC_NOCS;
        spin_unlock_irqrestore(&chain->lock, flags);
 
-       if (skb->protocol == htons(ETH_P_IP))
-               switch (skb->nh.iph->protocol) {
+       if (skb->protocol == htons(ETH_P_IP) && skb->ip_summed == CHECKSUM_PARTIAL)
+               switch (ip_hdr(skb)->protocol) {
                case IPPROTO_TCP:
                        hwdescr->dmac_cmd_status |= SPIDER_NET_DMAC_TCP;
                        break;
@@ -990,7 +990,6 @@ spider_net_pass_skb_up(struct spider_net_descr *descr,
        netdev = card->netdev;
 
        skb = descr->skb;
-       skb->dev = netdev;
        skb_put(skb, hwdescr->valid_size);
 
        /* the card seems to add 2 bytes of junk in front