diff -ruN orinoco-0.13e-SN-15.orig/orinoco.c orinoco-0.13e-SN-15/orinoco.c --- orinoco-0.13e-SN-15.orig/orinoco.c 2007-08-07 15:37:16.000000000 -0500 +++ orinoco-0.13e-SN-15/orinoco.c 2007-08-07 16:26:26.000000000 -0500 @@ -2169,10 +2169,17 @@ */ /* Note : gcc will optimise the whole section away if * WIRELESS_SPY is not defined... - Jean II */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) + if (SPY_NUMBER(priv)) { + orinoco_spy_gather(dev, skb_mac_header(skb) + ETH_ALEN, + desc->signal, desc->silence); + } +#else if (SPY_NUMBER(priv)) { orinoco_spy_gather(dev, skb->mac.raw + ETH_ALEN, desc->signal, desc->silence); } +#endif }/*}}}*/ static int orinoco_xmit(struct sk_buff *skb, struct net_device *dev)/*{{{*/ @@ -4655,8 +4662,11 @@ { skb->dev = dev->ndev; skb->dev->last_rx = jiffies; - +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) + skb_reset_mac_header(skb); +#else skb->mac.raw = skb->data ; +#endif skb->ip_summed = CHECKSUM_NONE; skb->pkt_type = PACKET_OTHERHOST; skb->protocol = htons(ETH_P_80211_RAW); /* XXX ETH_P_802_2? */ diff -ruN orinoco-0.13e-SN-15.orig/orinoco_pci.c orinoco-0.13e-SN-15/orinoco_pci.c --- orinoco-0.13e-SN-15.orig/orinoco_pci.c 2007-08-07 15:37:16.000000000 -0500 +++ orinoco-0.13e-SN-15/orinoco_pci.c 2007-08-07 16:24:36.000000000 -0500 @@ -387,7 +387,7 @@ static int __init orinoco_pci_init(void) { printk(KERN_DEBUG "%s\n", version); - return pci_module_init(&orinoco_pci_driver); + return pci_register_driver(&orinoco_pci_driver); } extern void __exit orinoco_pci_exit(void) diff -ruN orinoco-0.13e-SN-15.orig/orinoco_plx.c orinoco-0.13e-SN-15/orinoco_plx.c --- orinoco-0.13e-SN-15.orig/orinoco_plx.c 2007-08-07 15:37:16.000000000 -0500 +++ orinoco-0.13e-SN-15/orinoco_plx.c 2007-08-07 16:24:51.000000000 -0500 @@ -343,7 +343,7 @@ static int __init orinoco_plx_init(void) { printk(KERN_DEBUG "%s\n", version); - return pci_module_init(&orinoco_plx_driver); + return pci_register_driver(&orinoco_plx_driver); } extern void __exit orinoco_plx_exit(void) diff -ruN orinoco-0.13e-SN-15.orig/orinoco_tmd.c orinoco-0.13e-SN-15/orinoco_tmd.c --- orinoco-0.13e-SN-15.orig/orinoco_tmd.c 2007-08-07 15:37:16.000000000 -0500 +++ orinoco-0.13e-SN-15/orinoco_tmd.c 2007-08-07 16:25:05.000000000 -0500 @@ -221,7 +221,7 @@ static int __init orinoco_tmd_init(void) { printk(KERN_DEBUG "%s\n", version); - return pci_module_init(&orinoco_tmd_driver); + return pci_register_driver(&orinoco_tmd_driver); } extern void __exit orinoco_tmd_exit(void)