---- open-vm-tools-8.8.2-590212/modules/linux/vmxnet/vmxnet.c.orig 2012-03-16 01:46:19.000000000 +0100
-+++ open-vm-tools-8.8.2-590212/modules/linux/vmxnet/vmxnet.c 2012-04-06 21:44:30.147182151 +0200
-@@ -1005,7 +1005,11 @@
- .ndo_start_xmit = &vmxnet_start_tx,
- .ndo_stop = &vmxnet_close,
- .ndo_get_stats = &vmxnet_get_stats,
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
-+ .ndo_set_rx_mode = &vmxnet_set_multicast_list,
-+# else
- .ndo_set_multicast_list = &vmxnet_set_multicast_list,
-+# endif
- .ndo_change_mtu = &vmxnet_change_mtu,
- # ifdef VMW_HAVE_POLL_CONTROLLER
- .ndo_poll_controller = vmxnet_netpoll,
-@@ -2079,7 +2083,11 @@
- } else {
- // map the part of the frag that is not copied
- dma = pci_map_page(lp->pdev,
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
-+ frag->page.p,
-+#else
- frag->page,
-+#endif
- frag->page_offset + offset,
- frag->size - offset,
- PCI_DMA_TODEVICE);
-@@ -2098,7 +2106,11 @@
- for ( ; nextFrag < skb_shinfo(skb)->nr_frags; nextFrag++) {
- frag = &skb_shinfo(skb)->frags[nextFrag];
- dma = pci_map_page(lp->pdev,
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
-+ frag->page.p,
-+#else
- frag->page,
-+#endif
- frag->page_offset,
- frag->size,
- PCI_DMA_TODEVICE);
-@@ -2596,7 +2608,11 @@
- }
-
- pci_unmap_page(pdev, rre2->paddr, PAGE_SIZE, PCI_DMA_FROMDEVICE);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
-+ skb_shinfo(skb)->frags[numFrags].page.p = lp->rxPages[dd->rxDriverNext2];
-+#else
- skb_shinfo(skb)->frags[numFrags].page = lp->rxPages[dd->rxDriverNext2];
-+#endif
- skb_shinfo(skb)->frags[numFrags].page_offset = 0;
- skb_shinfo(skb)->frags[numFrags].size = rre2->actualLength;
- skb->data_len += rre2->actualLength;