diff -ubBrN ieee80211-1.2.18/ieee80211_crypt_tkip.c ieee80211-1.2.18.patched/ieee80211_crypt_tkip.c --- ieee80211-1.2.18/ieee80211_crypt_tkip.c 2007-07-12 09:30:36.000000000 +0200 +++ ieee80211-1.2.18.patched/ieee80211_crypt_tkip.c 2008-03-15 16:47:28.000000000 +0100 @@ -412,7 +412,7 @@ icv[3] = crc >> 24; crypto_blkcipher_setkey(tkey->tx_tfm_arc4, rc4key, 16); - sg.page = virt_to_page(pos); + sg_assign_page(&sg, virt_to_page(pos)); sg.offset = offset_in_page(pos); sg.length = len + 4; #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18) @@ -512,7 +512,7 @@ plen = skb->len - hdr_len - 12; crypto_blkcipher_setkey(tkey->rx_tfm_arc4, rc4key, 16); - sg.page = virt_to_page(pos); + sg_assign_page(&sg, virt_to_page(pos)); sg.offset = offset_in_page(pos); sg.length = plen + 4; #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18) @@ -572,11 +572,11 @@ printk(KERN_WARNING "michael_mic: tfm_michael == NULL\n"); return -1; } - sg[0].page = virt_to_page(hdr); + sg_assign_page(&sg[0], virt_to_page(hdr)); sg[0].offset = offset_in_page(hdr); sg[0].length = 16; - sg[1].page = virt_to_page(data); + sg_assign_page(&sg[1], virt_to_page(data)); sg[1].offset = offset_in_page(data); sg[1].length = data_len; diff -ubBrN ieee80211-1.2.18/ieee80211_crypt_wep.c ieee80211-1.2.18.patched/ieee80211_crypt_wep.c --- ieee80211-1.2.18/ieee80211_crypt_wep.c 2007-07-12 09:30:36.000000000 +0200 +++ ieee80211-1.2.18.patched/ieee80211_crypt_wep.c 2008-03-15 16:47:28.000000000 +0100 @@ -22,7 +22,7 @@ #include #include -#include +#include #include MODULE_AUTHOR("Jouni Malinen"); @@ -187,7 +187,7 @@ icv[3] = crc >> 24; crypto_blkcipher_setkey(wep->tx_tfm, key, klen); - sg.page = virt_to_page(pos); + sg_assign_page(&sg, virt_to_page(pos)); sg.offset = offset_in_page(pos); sg.length = len + 4; #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18) @@ -235,7 +235,7 @@ plen = skb->len - hdr_len - 8; crypto_blkcipher_setkey(wep->rx_tfm, key, klen); - sg.page = virt_to_page(pos); + sg_assign_page(&sg, virt_to_page(pos)); sg.offset = offset_in_page(pos); sg.length = plen + 4; #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,18) diff -ubBrN ieee80211-1.2.18/ieee80211_module.c ieee80211-1.2.18.patched/ieee80211_module.c --- ieee80211-1.2.18/ieee80211_module.c 2007-07-12 09:30:36.000000000 +0200 +++ ieee80211-1.2.18.patched/ieee80211_module.c 2008-03-15 16:47:28.000000000 +0100 @@ -265,7 +265,7 @@ struct proc_dir_entry *e; ieee80211_debug_level = debug; - ieee80211_proc = proc_mkdir(DRV_NAME, proc_net); + ieee80211_proc = proc_mkdir(DRV_NAME, init_net.proc_net); if (ieee80211_proc == NULL) { IEEE80211_ERROR("Unable to create " DRV_NAME " proc directory\n"); @@ -274,7 +274,7 @@ e = create_proc_entry("debug_level", S_IFREG | S_IRUGO | S_IWUSR, ieee80211_proc); if (!e) { - remove_proc_entry(DRV_NAME, proc_net); + remove_proc_entry(DRV_NAME, init_net.proc_net); ieee80211_proc = NULL; return -EIO; } @@ -294,7 +294,7 @@ #ifdef CONFIG_IEEE80211_DEBUG if (ieee80211_proc) { remove_proc_entry("debug_level", ieee80211_proc); - remove_proc_entry(DRV_NAME, proc_net); + remove_proc_entry(DRV_NAME, init_net.proc_net); ieee80211_proc = NULL; } #endif /* CONFIG_IEEE80211_DEBUG */