linux_dsm_epyc7002/drivers/net/ethernet
Jason Gunthorpe 9f49a5b5c2 RDMA/netdev: Use priv_destructor for netdev cleanup
Now that the unregister_netdev flow for IPoIB no longer relies on external
code we can now introduce the use of priv_destructor and
needs_free_netdev.

The rdma_netdev flow is switched to use the netdev common priv_destructor
instead of the special free_rdma_netdev and the IPOIB ULP adjusted:
 - priv_destructor needs to switch to point to the ULP's destructor
   which will then call the rdma_ndev's in the right order
 - We need to be careful around the error unwind of register_netdev
   as it sometimes calls priv_destructor on failure
 - ULPs need to use ndo_init/uninit to ensure proper ordering
   of failures around register_netdev

Switching to priv_destructor is a necessary pre-requisite to using
the rtnl new_link mechanism.

The VNIC user for rdma_netdev should also be revised, but that is left for
another patch.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Denis Drozdov <denisd@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
2018-08-02 20:27:43 -06:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
adaptec
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
amd treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
apm
apple
aquantia net: aquantia: fix unsigned numvecs comparison with less than zero 2018-06-08 18:45:52 -04:00
arc
atheros treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
aurora
broadcom treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
brocade treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
cadence drivers: net: Remove device_node checks with of_mdiobus_register() 2018-05-16 14:20:36 -04:00
calxeda treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-06-16 07:39:34 +09:00
chelsio rdma/cxgb4: Fix SRQ endianness annotations 2018-07-31 16:57:23 -06:00
cirrus
cisco enic: fix UDP rss bits 2018-06-06 09:09:09 -04:00
cortina treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
davicom
dec
dlink
emulex be2net: Fix error detection logic for BE3 2018-05-29 10:57:25 -04:00
ezchip
faraday
freescale treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
fujitsu
hisilicon treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
hp
huawei treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
i825xx
ibm treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
intel Solve a series of broken links for files under Documentation: 2018-06-17 05:25:18 +09:00
marvell net: mvpp2: mvpp2_percpu_read_relaxed() can be static 2018-06-04 11:36:29 -04:00
mediatek
mellanox RDMA/netdev: Use priv_destructor for netdev cleanup 2018-08-02 20:27:43 -06:00
micrel treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
microchip
moxa treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
mscc net: mscc: ocelot: Fix uninitialized error in ocelot_netdevice_event() 2018-06-07 16:54:39 -04:00
myricom
natsemi net/sonic: Use dma_mapping_error() 2018-05-31 14:17:33 -04:00
neterion treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-06-16 07:39:34 +09:00
ni treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
nuvoton
nvidia treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
nxp
oki-semi treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
packetengines
pasemi treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
qlogic treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
qualcomm net: qcom/emac: Add missing of_node_put() 2018-06-14 17:01:05 -07:00
rdc
realtek 8139too: Remove unnecessary netif_napi_del() 2018-05-25 16:35:45 -04:00
renesas sh_eth: use DIV_ROUND_UP() in sh_eth_soft_swap() 2018-06-04 15:23:25 -04:00
rocker rocker: rocker_main: Ignore bridge VLAN events 2018-05-31 14:13:43 -04:00
samsung
seeq
sfc treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
sgi
silan
sis
smsc
socionext treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-06-16 07:39:34 +09:00
sun net: ethernet: sun: niu set correct packet size in skb 2018-05-04 13:20:46 -04:00
synopsys
tehuti
ti treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
toshiba treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
tundra
via
wiznet
xilinx net: emaclite: Remove xemaclite_mdio_setup return check 2018-06-14 17:08:03 -07:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
fealnx.c
jme.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
jme.h
Kconfig net: ethernet: Sort Kconfig sourcing alphabetically 2018-05-21 12:14:47 -04:00
korina.c
lantiq_etop.c
Makefile net: mscc: Add initial Ocelot switch support 2018-05-15 16:41:15 -04:00
netx-eth.c