]> xenbits.xensource.com Git - people/liuw/rumprun.git/commitdiff
xen/events: clear handler and data when unbinding all ports
authorWei Liu <liuw@liuw.name>
Tue, 21 Apr 2015 10:32:08 +0000 (11:32 +0100)
committerWei Liu <liuw@liuw.name>
Thu, 7 May 2015 09:41:44 +0000 (10:41 +0100)
Signed-off-by: Wei Liu <liuw@liuw.name>
platform/xen/xen/events.c

index 7c43e39353029a29ea12f7d58956652f2e1442df..8889d60c1785a9e93580b5e9bdf42c7cb10febdd 100644 (file)
@@ -55,6 +55,11 @@ void unbind_all_ports(void)
             struct evtchn_close close;
             minios_printk("port %d still bound!\n", i);
             minios_mask_evtchn(i);
+
+            ev_actions[i].handler = default_handler;
+            wmb();
+            ev_actions[i].data = NULL;
+
             close.port = i;
             rc = HYPERVISOR_event_channel_op(EVTCHNOP_close, &close);
             if (rc)