Explorar el Código

IB/ipath: fix verbs registration

Remember when the verbs layer unregisters from the lower-level code.

Signed-off-by: Bryan O'Sullivan <bos@pathscale.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Bryan O'Sullivan hace 19 años
padre
commit
fccea66364
Se han modificado 1 ficheros con 5 adiciones y 1 borrados
  1. 5 1
      drivers/infiniband/hw/ipath/ipath_layer.c

+ 5 - 1
drivers/infiniband/hw/ipath/ipath_layer.c

@@ -46,13 +46,15 @@
 /* Acquire before ipath_devs_lock. */
 /* Acquire before ipath_devs_lock. */
 static DEFINE_MUTEX(ipath_layer_mutex);
 static DEFINE_MUTEX(ipath_layer_mutex);
 
 
+static int ipath_verbs_registered;
+
 u16 ipath_layer_rcv_opcode;
 u16 ipath_layer_rcv_opcode;
+
 static int (*layer_intr)(void *, u32);
 static int (*layer_intr)(void *, u32);
 static int (*layer_rcv)(void *, void *, struct sk_buff *);
 static int (*layer_rcv)(void *, void *, struct sk_buff *);
 static int (*layer_rcv_lid)(void *, void *);
 static int (*layer_rcv_lid)(void *, void *);
 static int (*verbs_piobufavail)(void *);
 static int (*verbs_piobufavail)(void *);
 static void (*verbs_rcv)(void *, void *, void *, u32);
 static void (*verbs_rcv)(void *, void *, void *, u32);
-static int ipath_verbs_registered;
 
 
 static void *(*layer_add_one)(int, struct ipath_devdata *);
 static void *(*layer_add_one)(int, struct ipath_devdata *);
 static void (*layer_remove_one)(void *);
 static void (*layer_remove_one)(void *);
@@ -586,6 +588,8 @@ void ipath_verbs_unregister(void)
 	verbs_rcv = NULL;
 	verbs_rcv = NULL;
 	verbs_timer_cb = NULL;
 	verbs_timer_cb = NULL;
 
 
+	ipath_verbs_registered = 0;
+
 	mutex_unlock(&ipath_layer_mutex);
 	mutex_unlock(&ipath_layer_mutex);
 }
 }