IPoIB/cm: Fix error handling in ipoib_cm_dev_open()
authorMichael S. Tsirkin <mst@dev.mellanox.co.il>
Tue, 1 May 2007 00:30:28 +0000 (17:30 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 1 May 2007 00:30:28 +0000 (17:30 -0700)
commit347fcfbed261fdd11f46fa03d524e1bddddab3a6
tree370b7f5f3d0bdb8d344dadbffce4ec4eba0af4a7
parent6b66b2da1e821181a001c00b04a807724ad803cd
IPoIB/cm: Fix error handling in ipoib_cm_dev_open()

If skb allocation fails when we start the device, we call
ipoib_cm_dev_stop() even though ipoib_cm_dev_open() did not run to
completion, so we pass an invalid pointer to ib_destroy_cm_id and get
an oops.

Fix by clearing cm.id on error, and testing it in cm_dev_stop().
This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=561>

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_cm.c