IPoIB: Fix oops if xmit is called when priv->broadcast is NULL
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Mon, 26 Nov 2007 08:41:19 +0000 (10:41 +0200)
committerRoland Dreier <rolandd@cisco.com>
Tue, 27 Nov 2007 23:40:10 +0000 (15:40 -0800)
commit1401b53acc0328d96bacb2a3393d2852699df96b
tree1f6ac801ec6c4c5b8ced21cd55449212ecd93dd1
parent7749c902592f610dc448830210174ab922f54be9
IPoIB: Fix oops if xmit is called when priv->broadcast is NULL

If a port goes down, ipoib_ib_dev_down() is invoked -- which flushes
the mcasts (clearing priv->broadcast) and clearing the path record
cache.  If ipoib_start_xmit() is then invoked (before the broadcast
group is rejoined), a kernel oops results from attempting to access
priv->broadcast, which is still unset.

Returning NULL from path_rec_create() if priv->broadcast is NULL is a
harmless way of bypassing the problem -- the offending packet is
simply discarded "without prejudice."

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_main.c