linux/drivers/net/ixgbe
Jesse Brandeburg 5ecc361444 ixgbe: fix dma mapping unbalance
This issue was initially reported by Joerg Roedel <joerg.roedel@amd.com>
It appears that ixgbe has had a long standing bug where it was unmapping a different size than it had mapped.

ixgbe 0000:02:00.0: PCI-DMA: device driver frees DMA memory with different sizes than it mapped.
ixgbe 0000:02:00.0: PCI-DMA: device driver frees DMA memory with different size [device address=0x0000000003fed812] [map size=258 bytes] [unmap size=256 bytes]
Pid: 6178, comm: rmmod Not tainted 2.6.28-rc5 #4 Call Trace:
 [<ffffffff8022a2ae>] iommu_queue_inv_iommu_pages+0x5e/0x70
 [<ffffffff80225956>] check_unmap+0x1c6/0x240  [<ffffffff80225ff5>] debug_unmap_single+0xb5/0x110  [<ffffffffa0213997>] ixgbe_clean_rx_ring+0x147/0x220  [<ffffffffa0214d7d>] ixgbe_down+0x2fd/0x3d0 [ixgbe]  [<ffffffffa02150b3>] ixgbe_close+0x13/0xc0 [ixgbe]  [<ffffffff80431326>] dev_close+0x56/0xa0  [<ffffffff804313b3>] rollback_registered+0x43/0x220  [<ffffffff804315a5>] unregister_netdevice+0x15/0x60  [<ffffffff80431601>] unregister_netdev+0x11/0x20  [<ffffffffa021aef8>] ixgbe_remove+0x48/0x16e [ixgbe]  [<ffffffff80386ffc>] pci_device_remove+0x2c/0x60  [<ffffffff803ef929>] __device_release_driver+0x99/0x100
 [<ffffffff803efa48>] driver_detach+0xb8/0xc0  [<ffffffff803eea6e>] bus_remove_driver+0x8e/0xd0  [<ffffffff80387374>] pci_unregister_driver+0x34/0x90  [<ffffffff8026c6c7>] sys_delete_module+0x1c7/0x2a0  [<ffffffff802a9ce9>] do_munmap+0x349/0x390  [<ffffffff80374481>] __up_write+0x21/0x150  [<ffffffff8020c30b>] system_call_fastpath+0x16/0x1b

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-15 01:00:57 -08:00
..
ixgbe_82598.c ixgbe: add SFP+ driver support 2008-11-20 21:11:42 -08:00
ixgbe_common.c ixgbe: Whitespace, copyright update and version number change patch 2008-09-24 18:55:05 -04:00
ixgbe_common.h ixgbe: Whitespace, copyright update and version number change patch 2008-09-24 18:55:05 -04:00
ixgbe_dcb_82598.c ixgbe: this patch adds support for DCB to the kernel and ixgbe driver 2008-11-20 20:52:10 -08:00
ixgbe_dcb_82598.h ixgbe: this patch adds support for DCB to the kernel and ixgbe driver 2008-11-20 20:52:10 -08:00
ixgbe_dcb_nl.c DCB: Add support for DCB BCN 2008-11-20 21:10:23 -08:00
ixgbe_dcb.c ixgbe: this patch adds support for DCB to the kernel and ixgbe driver 2008-11-20 20:52:10 -08:00
ixgbe_dcb.h DCB: Add support for DCB BCN 2008-11-20 21:10:23 -08:00
ixgbe_ethtool.c ixgbe: convert directly reference of netdev->priv 2008-11-21 01:56:07 -08:00
ixgbe_main.c ixgbe: fix dma mapping unbalance 2008-12-15 01:00:57 -08:00
ixgbe_phy.c ixgbe: add SFP+ driver support 2008-11-20 21:11:42 -08:00
ixgbe_phy.h ixgbe: add SFP+ driver support 2008-11-20 21:11:42 -08:00
ixgbe_type.h ixgbe: add SFP+ driver support 2008-11-20 21:11:42 -08:00
ixgbe.h ixgbe: Implement PCIe AER support 2008-12-10 01:13:08 -08:00
Makefile DCB: fix kconfig option 2008-11-25 01:02:08 -08:00