IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event
authorErez Zilber <erezz@voltaire.com>
Thu, 17 Apr 2008 04:09:35 +0000 (21:09 -0700)
committerRoland Dreier <rolandd@cisco.com>
Thu, 17 Apr 2008 04:09:35 +0000 (21:09 -0700)
When a RDMA_CM_EVENT_DEVICE_REMOVAL event is raised, iSER should
release the connection resources.

This is necessary when the IB HCA module is unloaded while open-iscsi
is still running.  Currently, iSER just BUG()s.

Signed-off-by: Erez Zilber <erezz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/iser/iser_verbs.c

index 993f0a8..d19cfe6 100644 (file)
@@ -473,11 +473,8 @@ static int iser_cma_handler(struct rdma_cm_id *cma_id, struct rdma_cm_event *eve
                iser_connect_error(cma_id);
                break;
        case RDMA_CM_EVENT_DISCONNECTED:
-               iser_disconnected_handler(cma_id);
-               break;
        case RDMA_CM_EVENT_DEVICE_REMOVAL:
-               iser_err("Device removal is currently unsupported\n");
-               BUG();
+               iser_disconnected_handler(cma_id);
                break;
        default:
                iser_err("Unexpected RDMA CM event (%d)\n", event->event);