linux_dsm_epyc7002/drivers/net/ethernet
Yonglong Liu 8601a99d7c net: hns: Fix WARNING when remove HNS driver with SMMU enabled
When enable SMMU, remove HNS driver will cause a WARNING:

[  141.924177] WARNING: CPU: 36 PID: 2708 at drivers/iommu/dma-iommu.c:443 __iommu_dma_unmap+0xc0/0xc8
[  141.954673] Modules linked in: hns_enet_drv(-)
[  141.963615] CPU: 36 PID: 2708 Comm: rmmod Tainted: G        W         5.0.0-rc1-28723-gb729c57de95c-dirty #32
[  141.983593] Hardware name: Huawei D05/D05, BIOS Hisilicon D05 UEFI Nemo 1.8 RC0 08/31/2017
[  142.000244] pstate: 60000005 (nZCv daif -PAN -UAO)
[  142.009886] pc : __iommu_dma_unmap+0xc0/0xc8
[  142.018476] lr : __iommu_dma_unmap+0xc0/0xc8
[  142.027066] sp : ffff000013533b90
[  142.033728] x29: ffff000013533b90 x28: ffff8013e6983600
[  142.044420] x27: 0000000000000000 x26: 0000000000000000
[  142.055113] x25: 0000000056000000 x24: 0000000000000015
[  142.065806] x23: 0000000000000028 x22: ffff8013e66eee68
[  142.076499] x21: ffff8013db919800 x20: 0000ffffefbff000
[  142.087192] x19: 0000000000001000 x18: 0000000000000007
[  142.097885] x17: 000000000000000e x16: 0000000000000001
[  142.108578] x15: 0000000000000019 x14: 363139343a70616d
[  142.119270] x13: 6e75656761705f67 x12: 0000000000000000
[  142.129963] x11: 00000000ffffffff x10: 0000000000000006
[  142.140656] x9 : 1346c1aa88093500 x8 : ffff0000114de4e0
[  142.151349] x7 : 6662666578303d72 x6 : ffff0000105ffec8
[  142.162042] x5 : 0000000000000000 x4 : 0000000000000000
[  142.172734] x3 : 00000000ffffffff x2 : ffff0000114de500
[  142.183427] x1 : 0000000000000000 x0 : 0000000000000035
[  142.194120] Call trace:
[  142.199030]  __iommu_dma_unmap+0xc0/0xc8
[  142.206920]  iommu_dma_unmap_page+0x20/0x28
[  142.215335]  __iommu_unmap_page+0x40/0x60
[  142.223399]  hnae_unmap_buffer+0x110/0x134
[  142.231639]  hnae_free_desc+0x6c/0x10c
[  142.239177]  hnae_fini_ring+0x14/0x34
[  142.246540]  hnae_fini_queue+0x2c/0x40
[  142.254080]  hnae_put_handle+0x38/0xcc
[  142.261619]  hns_nic_dev_remove+0x54/0xfc [hns_enet_drv]
[  142.272312]  platform_drv_remove+0x24/0x64
[  142.280552]  device_release_driver_internal+0x17c/0x20c
[  142.291070]  driver_detach+0x4c/0x90
[  142.298259]  bus_remove_driver+0x5c/0xd8
[  142.306148]  driver_unregister+0x2c/0x54
[  142.314037]  platform_driver_unregister+0x10/0x18
[  142.323505]  hns_nic_dev_driver_exit+0x14/0xf0c [hns_enet_drv]
[  142.335248]  __arm64_sys_delete_module+0x214/0x25c
[  142.344891]  el0_svc_common+0xb0/0x10c
[  142.352430]  el0_svc_handler+0x24/0x80
[  142.359968]  el0_svc+0x8/0x7c0
[  142.366104] ---[ end trace 60ad1cd58e63c407 ]---

The tx ring buffer map when xmit and unmap when xmit done. So in
hnae_init_ring() did not map tx ring buffer, but in hnae_fini_ring()
have a unmap operation for tx ring buffer, which is already unmapped
when xmit done, than cause this WARNING.

The hnae_alloc_buffers() is called in hnae_init_ring(),
so the hnae_free_buffers() should be in hnae_fini_ring(), not in
hnae_free_desc().

In hnae_fini_ring(), adds a check is_rx_ring() as in hnae_init_ring().
When the ring buffer is tx ring, adds a piece of code to ensure that
the tx ring is unmap.

Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-04-04 10:35:42 -07:00
..
3com 3c515: fix integer overflow warning 2019-03-19 15:07:49 -07:00
8390 mac8390: Fix mmio access size probe 2019-03-18 16:56:57 -07:00
adaptec net: adaptec: starfire: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon net: ena: update driver version from 2.0.2 to 2.0.3 2019-02-12 14:05:07 -05:00
amd net: amd: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
apm
apple net: apple: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
aquantia net: aquantia: fix rx checksum offload for UDP/TCP over IPv6 2019-03-18 16:59:35 -07:00
arc net: arc_emac: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-24 12:06:19 -08:00
aurora
broadcom 5.1 Merge Window Pull Request 2019-03-09 15:53:03 -08:00
brocade bna: fix indentation issue on call to bfa_ioc_pf_failed 2019-02-02 20:14:38 -08:00
cadence net: macb: Add null check for PCLK and HCLK 2019-03-21 13:22:41 -07:00
calxeda
cavium thunderx: eliminate extra calls to put_page() for pages held for recycling 2019-03-27 22:52:28 -07:00
chelsio Revert "cxgb4: Update 1.23.3.0 as the latest firmware supported." 2019-03-29 13:47:14 -07:00
cirrus
cisco enic: fix build warning without CONFIG_CPUMASK_OFFSTACK 2019-03-07 09:41:08 -08:00
cortina
davicom
dec Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-08 15:00:17 -08:00
dlink net:dl2k: Replace dev_kfree_skb_irq by dev_consume_skb_irq 2019-02-14 12:25:24 -05:00
emulex
ezchip
faraday drivers: net: Remove unnecessary semicolon 2019-03-01 23:13:49 -08:00
freescale dpaa2-eth: fix race condition with bql frame accounting 2019-03-26 11:43:49 -07:00
fujitsu net: fujitsu: fix a potential NULL pointer dereference 2019-03-12 14:48:35 -07:00
hisilicon net: hns: Fix WARNING when remove HNS driver with SMMU enabled 2019-04-04 10:35:42 -07:00
hp
huawei
i825xx net: i825xx: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:14 -05:00
ibm net: ibm: fix possible object reference leak 2019-03-23 21:21:24 -04:00
intel i40e: add tracking of AF_XDP ZC state for each queue pair 2019-04-01 11:32:48 -07:00
marvell sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79 2019-03-04 11:31:25 -08:00
mediatek drivers: net: Remove unnecessary semicolon 2019-03-01 23:13:49 -08:00
mellanox mlx5-fixes-2019-03-29 2019-03-29 15:23:16 -07:00
micrel net: ks8851: Deduplicate register macros 2019-03-20 12:43:52 -07:00
microchip lan743x: Fix TX Stall Issue 2019-03-13 13:41:46 -07:00
moxa net: moxa: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
mscc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-04 13:26:15 -08:00
myricom net: myri10ge: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
natsemi net: ns83820: code cleanup for ns83820_probe_phy() 2019-02-19 14:08:19 -08:00
neterion net: neterion: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:41 -08:00
netronome nfp: flower: remove vlan CFI bit from push vlan action 2019-04-01 18:02:41 -07:00
ni net: nixge: Add support for fixed-link configurations 2019-02-05 10:34:34 -08:00
nuvoton net: nuvoton: w90p910_ether: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
nvidia
nxp
oki-semi pci-v5.1-changes 2019-03-09 14:57:08 -08:00
packetengines net: packetengines: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 12:43:15 -05:00
pasemi net: pasemi: set a 64-bit DMA mask on the DMA device 2019-02-18 22:41:01 +11:00
qlogic qlcnic: Avoid potential NULL pointer dereference 2019-03-15 11:55:53 -07:00
qualcomm net: qualcomm: emac: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
rdc
realtek r8169: disable default rx interrupt coalescing on RTL8168 2019-03-30 11:04:54 -07:00
renesas net: sh_eth: fix a missing check of of_get_phy_mode 2019-03-12 14:51:02 -07:00
rocker net: rocker: fix a potential NULL pointer dereference 2019-03-11 16:17:31 -07:00
samsung
seeq
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-15 12:38:38 -08:00
sgi net: sgi: use GFP_ATOMIC under spin lock 2019-02-17 15:51:46 -08:00
silan
sis net: sis900: fix indentation issues, remove some spaces 2019-03-15 11:59:00 -07:00
smsc smc911x: pass struct device to DMA API functions 2019-02-12 12:09:24 -05:00
socionext
stmicro net: stmmac: don't log oversized frames 2019-03-31 14:00:59 -07:00
sun net: ethernet: sun: Zero initialize class in default case in niu_add_ethtool_tcam_entry 2019-03-08 15:26:21 -08:00
synopsys
tehuti net: tehuti: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-06 17:38:15 -08:00
ti net: ethernet: ti: fix possible object reference leak 2019-03-23 21:21:24 -04:00
toshiba
tundra
via net: via-velocity: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-06 17:38:15 -08:00
wiznet
xilinx net: xilinx: fix possible object reference leak 2019-03-23 21:21:24 -04:00
xircom
xscale net: ixp4xx_eth: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:54 -08:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c net: fealnx: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-13 20:50:42 -08:00
jme.c
jme.h
Kconfig
korina.c
lantiq_etop.c lantiq_etop: pass struct device to DMA API functions 2019-02-12 12:09:23 -05:00
lantiq_xrx200.c net: lantiq: Do not use eth_change_mtu() 2019-02-24 17:35:42 -08:00
Makefile
netx-eth.c