Merge branch 'upstream-fixes'
authorJeff Garzik <jeff@garzik.org>
Sat, 11 Mar 2006 18:35:31 +0000 (13:35 -0500)
committerJeff Garzik <jeff@garzik.org>
Sat, 11 Mar 2006 18:35:31 +0000 (13:35 -0500)
1  2 
Documentation/feature-removal-schedule.txt
drivers/net/Kconfig
drivers/net/dl2k.c
drivers/net/e1000/e1000_main.c
drivers/net/tg3.c
drivers/net/tulip/de2104x.c

Simple merge
Simple merge
@@@ -2804,25 -2909,17 +2804,25 @@@ e1000_xmit_frame(struct sk_buff *skb, s
         * points to just header, pull a few bytes of payload from
         * frags into skb->data */
                hdr_len = ((skb->h.raw - skb->data) + (skb->h.th->doff << 2));
 -              if (skb->data_len && (hdr_len == (skb->len - skb->data_len)) &&
 -                      (adapter->hw.mac_type == e1000_82571 ||
 -                      adapter->hw.mac_type == e1000_82572)) {
 -                      unsigned int pull_size;
 -                      pull_size = min((unsigned int)4, skb->data_len);
 -                      if (!__pskb_pull_tail(skb, pull_size)) {
 -                              printk(KERN_ERR "__pskb_pull_tail failed.\n");
 -                              dev_kfree_skb_any(skb);
 -                              return NETDEV_TX_OK;
 +              if (skb->data_len && (hdr_len == (skb->len - skb->data_len))) {
 +                      switch (adapter->hw.mac_type) {
 +                              unsigned int pull_size;
 +                      case e1000_82571:
 +                      case e1000_82572:
 +                      case e1000_82573:
 +                              pull_size = min((unsigned int)4, skb->data_len);
 +                              if (!__pskb_pull_tail(skb, pull_size)) {
 +                                      printk(KERN_ERR 
 +                                              "__pskb_pull_tail failed.\n");
 +                                      dev_kfree_skb_any(skb);
-                                       return -EFAULT;
++                                      return NETDEV_TX_OK;
 +                              }
 +                              len = skb->len - skb->data_len;
 +                              break;
 +                      default:
 +                              /* do nothing */
 +                              break;
                        }
 -                      len = skb->len - skb->data_len;
                }
        }
  
Simple merge
Simple merge