igbvf: fix issue w/ mapped_as_page being left set after unmap
authorAlexander Duyck <alexander.h.duyck@intel.com>
Wed, 27 Jan 2010 15:30:39 +0000 (15:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Jan 2010 13:55:53 +0000 (05:55 -0800)
This change fixes an issue in igbvf with mapped_as_page being left set
after a page is unmapped which results in buffers which are mapped via map
single being unmapped as page.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/igbvf/netdev.c

index 297a5ddd77f01db9722385d647cf692a39594534..2aa71a766c35ae8d5ee9d75f6b21f04c6e82235c 100644 (file)
@@ -2117,6 +2117,7 @@ static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter,
        /* set time_stamp *before* dma to help avoid a possible race */
        buffer_info->time_stamp = jiffies;
        buffer_info->next_to_watch = i;
+       buffer_info->mapped_as_page = false;
        buffer_info->dma = pci_map_single(pdev, skb->data, len,
                                          PCI_DMA_TODEVICE);
        if (pci_dma_mapping_error(pdev, buffer_info->dma))