]> git.baikalelectronics.ru Git - kernel.git/commit
IB/ipoib: Fix ndo_get_iflink
authorErez Shitrit <erezsh@mellanox.com>
Thu, 16 Apr 2015 13:34:34 +0000 (16:34 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Apr 2015 19:21:04 +0000 (15:21 -0400)
commite4ae43bd2ae92ed6aed244db0e34f6356228643b
treeb1fbfaae7d2c5d16a30f1aad582618efa7492218
parent60ecb488c7e35a34c686f941e9fc53213414444c
IB/ipoib: Fix ndo_get_iflink

Currently, iflink of the parent interface was always accessed, even
when interface didn't have a parent and hence we crashed there.

Handle the interface types properly: for a child interface, return
the ifindex of the parent, for parent interface, return its ifindex.

For child devices, make sure to set the parent pointer prior to
invoking register_netdevice(), this allows the new ndo to be called
by the stack immediately after the child device is registered.

Fixes: 35400501f873 ('infiniband/ipoib: implement ndo_get_iflink')
Reported-by: Honggang Li <honli@redhat.com>
Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Honggang Li <honli@redhat.com>
Reviewed-By: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>+
Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/infiniband/ulp/ipoib/ipoib_main.c
drivers/infiniband/ulp/ipoib/ipoib_vlan.c