[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC 5/6] xen-access: add support for slotted channel vm_events
On Wed, 2018-11-28 at 21:24 +0200, Razvan Cojocaru wrote: > On 11/28/18 5:29 PM, Petre Pircalabu wrote: > > Signed-off-by: Petre Pircalabu <ppircalabu@xxxxxxxxxxxxxxx> > > --- > > > > +static int xenaccess_evtchn_bind(xenaccess_t *xenaccess) > > +{ > + int rc, i = 0; > > + > > + rc = xenaccess_evtchn_bind_port(xenaccess->vm_event.ring- > > >evtchn_port, > > + xenaccess->vm_event.domain_id, > > + &xenaccess->vm_event.ring- > > >xce_handle, > > + &xenaccess->vm_event.ring- > > >port); > > + if ( rc < 0 ) > > + { > > + ERROR("Failed to bind ring events\n"); > > + return rc; > > + } > + > + if ( xenaccess->vm_event.channel == NULL) > > + return 0; > > + > > + for ( i = 0; i < xenaccess->vm_event.num_vcpus; i++ ) > > + { > > + rc = xenaccess_evtchn_bind_port(xenaccess- > > >vm_event.channel->evtchn_ports[i], > > + xenaccess- > > >vm_event.domain_id, > > + &xenaccess- > > >vm_event.channel->xce_handles[i], > > + &xenaccess- > > >vm_event.channel->ports[i]); > > + if ( rc < 0 ) > > { > > - ERROR("Failed to unmask event channel port"); > > + ERROR("Failed to bind channel events\n"); > > goto err; > > } > > } > > - else > > - port = -1; > > > > - return port; > > + evtchn_bind = true; > > + return 0; > > > > - err: > > - return -errno; > > +err: > > + xenaccess_evtchn_unbind_port(xenaccess->vm_event.ring- > > >evtchn_port, > > + &xenaccess->vm_event.ring- > > >xce_handle, > + &xenaccess->vm_event.ring->port); > > + > > + for ( i--; i >= 0; i-- ) > > This for() looks peculiar. > In case of an error "i" will point to the xce_handles index for which "bind" failed. "unbind" has to be called for the xce_handles 0 to (i-1) . > > Thanks, > Razvan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |