2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-01 10:13:58 +08:00
linux-next/drivers/infiniband/ulp
Jason Gunthorpe 7cbee87c17 IB/ipoib: Move all uninit code into ndo_uninit
Currently uninit is sometimes done twice in error flows, and is sprinkled
a bit all over the place.

Improve the clarity of the design by moving all uninit only into
ndo_uinit.

Some duplication is removed:
 - Sometimes IPOIB_STOP_NEIGH_GC was done before unregister, but
   this duplicates the process in ipoib_neigh_hash_init
 - Flushing priv->wq was sometimes done before unregister,
   but that duplicates what has been done in ndo_uninit

Uniniting the IB event queue must remain before unregister_netdev as it
requires the RTNL lock to be dropped, this is moved to a helper to make
that flow really clear and remove some duplication in error flows.

If register_netdev fails (and ndo_init is NULL) then it almost always
calls ndo_uninit, which lets us remove all the extra code from the error
unwinds. The next patch in the series will close the 'almost always' hole
by pairing a proper ndo_init with ndo_uninit.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
2018-08-02 20:27:43 -06:00
..
ipoib IB/ipoib: Move all uninit code into ndo_uninit 2018-08-02 20:27:43 -06:00
iser IB/iser: Inline two work request conversion functions 2018-07-30 19:59:40 -06:00
isert IB/isert: Simplify ib_post_(send|recv|srq_recv)() calls 2018-07-24 16:06:36 -06:00
opa_vnic opa_vnic: Just use skb_get_hash instead of skb_tx_hash 2018-04-29 22:01:32 -04:00
srp RDMA/cma: Constify path record, ib_cm_event, listen_id pointers 2018-07-30 20:49:04 -06:00
srpt RDMA/cma: Constify path record, ib_cm_event, listen_id pointers 2018-07-30 20:49:04 -06:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00