--- rhine_main.c	2004-11-01 10:09:30.000000000 +0000
+++ ../rhinefet/rhine_main.c	2006-03-29 09:25:49.644270043 +0100
@@ -1208,7 +1208,8 @@
     //drop frame not met IEEE 802.3
     if (pInfo->flags & RHINE_FLAGS_VAL_PKT_LEN) {
         if ((skb->protocol==htons(ETH_P_802_2)) &&
-            (skb->len!=ntohs(skb->mac.ethernet->h_proto))) {
+            /*(skb->len!=ntohs(skb->mac.ethernet->h_proto))) {*/
+            (skb->len!=ntohs(eth_hdr(skb)->h_proto))) {
             skb_put(skb,-(pRD->rdesc0.f15Length-4));
             pStats->rx_length_errors++;
             return FALSE;
@@ -2725,7 +2726,8 @@
             struct ethtool_drvinfo info={ETHTOOL_GDRVINFO};
             strcpy(info.driver, RHINE_NAME);
             strcpy(info.version, RHINE_VERSION);
-            strcpy(info.bus_info,pInfo->pcid->slot_name);
+            /*strcpy(info.bus_info,pInfo->pcid->slot_name);*/
+            strcpy(info.bus_info,pci_name(pInfo->pcid));
             if (copy_to_user(ifr->ifr_data, &info, sizeof(info)))
                 return -EFAULT;
         }
@@ -2898,7 +2900,8 @@
 
     netif_stop_queue(dev);
     spin_lock_irq(&pInfo->lock);
-    pci_save_state(pcid, pInfo->pci_state);
+    /*pci_save_state(pcid, pInfo->pci_state);*/
+    pci_save_state(pcid);
 
 #ifdef ETHTOOL_GWOL
         rhine_shutdown(pInfo);
@@ -2932,7 +2935,8 @@
 
     pci_set_power_state(pcid, 0);
     pci_enable_wake(pcid, 0, 0);
-    pci_restore_state(pcid, pInfo->pci_state);
+    /*pci_restore_state(pcid, pInfo->pci_state);*/
+    pci_restore_state(pcid);
 
     enable_mmio(pInfo);
 

