diff -uNr src/Makefile src_new/Makefile --- src/Makefile 2006-01-13 05:04:18 +0200 +++ src_new/Makefile 2009-10-14 20:53:43 +0300 @@ -1,6 +1,7 @@ DEBUG = 0 -KSP := /lib/modules/$(shell uname -r)/build \ +KSP := /lib/modules/2.6.29-rt-up-alt2/build \ + /lib/modules/$(shell uname -r)/build \ /usr/src/linux-$(shell uname -r) \ /usr/src/linux-$(shell uname -r | sed 's/-.*//') \ /usr/src/kernel-headers-$(shell uname -r) \ @@ -53,7 +54,7 @@ # 2.6 kernel obj-m += rhinefet.o -rhinefet-objs := rhine_main.o rhine_proc.o rhine_wol.o rhine_hw.o +rhinefet-objs := rhine_main.o rhine_wol.o rhine_hw.o rhine_proc.o default: make -C $(KSRC) SUBDIRS=$(shell pwd) modules diff -uNr src/rhine_main.c src_new/rhine_main.c --- src/rhine_main.c 2006-11-06 11:11:28 +0200 +++ src_new/rhine_main.c 2009-10-20 09:29:43 +0300 @@ -678,7 +678,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) /* Chain it all together */ - SET_MODULE_OWNER(dev); + //SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pcid->dev); #endif pInfo = netdev_priv(dev); @@ -743,8 +743,7 @@ } request_region(pInfo->hw.ioaddr, pInfo->hw.io_size, RHINE_NAME); #endif - rhine_create_proc_entry(pInfo); - + //rhine_create_proc_entry(pInfo); rhine_enable_mmio(&pInfo->hw); @@ -829,6 +828,8 @@ } #endif + rhine_create_proc_entry(pInfo); + rhine_print_info(pInfo); pci_set_drvdata(pcid, pInfo); @@ -1226,7 +1227,7 @@ //drop frame not met IEEE 802.3 if (pInfo->hw.flags & RHINE_FLAGS_VAL_PKT_LEN) { if ( (skb->protocol == htons(ETH_P_802_2)) && - (skb->len != htons(*(PU16)(skb->mac.raw + 12))) ) + (skb->len != htons(*(PU16)(skb_mac_header(skb)+12))) ) { //skb_put(skb, -(pRD->rdesc0.f15Length-4)); skb_put(skb, -(frame_length-4)); @@ -1584,7 +1585,7 @@ rhine_init_pci(pInfo); rhine_init_adapter(pInfo, RHINE_INIT_COLD); - i=request_irq(pInfo->pcid->irq, &rhine_intr, SA_SHIRQ, dev->name, dev); + i=request_irq(pInfo->pcid->irq, &rhine_intr, IRQF_SHARED, dev->name, dev); if (i) return i; @@ -1734,8 +1735,8 @@ #ifdef RHINE_TX_CSUM_SUPPORT if ((pInfo->hw.flags & RHINE_FLAGS_TX_CSUM) && - (skb->ip_summed == CHECKSUM_HW)) { - struct iphdr* ip=skb->nh.iph; + (skb->ip_summed == CHECKSUM_PARTIAL)) { + struct iphdr* ip = (struct iphdr*) skb->network_header; if (ip->protocol == IPPROTO_TCP) pHeadTD->tdesc1 |= cpu_to_le32(TCR_TCPCK); else if (ip->protocol == IPPROTO_UDP) @@ -1951,7 +1952,7 @@ static int __init rhine_init_module(void) { int ret; - ret=pci_module_init(&rhine_driver); + ret = pci_register_driver(&rhine_driver); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,9) #ifdef CONFIG_PM diff -uNr src/rhine_proc.c src_new/rhine_proc.c --- src/rhine_proc.c 2006-01-13 05:04:20 +0200 +++ src_new/rhine_proc.c 2009-10-14 21:06:26 +0300 @@ -239,14 +239,14 @@ int len=strlen(RHINE_PROC_DIR_NAME); if (rhine_dir==NULL) { - for (rhine_dir = proc_net->subdir; rhine_dir;rhine_dir = rhine_dir->next) { + for (rhine_dir = init_net.proc_net->subdir; rhine_dir;rhine_dir = rhine_dir->next) { if ((rhine_dir->namelen == len) && (!memcmp(rhine_dir->name, RHINE_PROC_DIR_NAME, len))) break; } if (rhine_dir==NULL) { - rhine_dir=create_proc_entry(RHINE_PROC_DIR_NAME,S_IFDIR,proc_net); + rhine_dir=create_proc_entry(RHINE_PROC_DIR_NAME,S_IFDIR,init_net.proc_net); ptr=create_proc_entry("version",S_IFREG|S_IRUGO,rhine_dir); ptr->data=NULL; ptr->write_proc=NULL; @@ -279,7 +279,7 @@ return; remove_proc_entry("version",rhine_dir); - remove_proc_entry(RHINE_PROC_DIR_NAME,proc_net); + remove_proc_entry(RHINE_PROC_DIR_NAME,init_net.proc_net); rhine_dir=NULL; }