ixgbe: fix unmap length bug
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Tue, 30 Jun 2009 11:44:56 +0000 (11:44 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Jul 2009 02:46:54 +0000 (19:46 -0700)
commit4f57ca6e17edfc56ddde5c87eb893e47e0d2d343
treed8ac9019f317daae33e02e77bbd04f94fc79073b
parenta1f25324b93ecdab1cbb27d3e9c4cafecb06ceda
ixgbe: fix unmap length bug

This patch addresses three WARN_ON statements from DMA-API debug code

ixgbe is mapping more than it unmaps, reduce the length of the map call and
remove the "used once" local variable.

found by Joerg Roedel <joerg.roedel@amd.com> in 2.6.30, so is a candidate
for -stable.

in addition, fix missing ->dma = 0 after unmap to prevent double free with
pci_unmap_single

and lastly, don't unmap (half) pages that aren't mapped.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
CC: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbe/ixgbe_main.c