Page MenuHomeFreeBSD

xen/intr: move handler removal to isrc release
Needs ReviewPublic

Authored by ehem_freebsd_m5p.com on Dec 23 2021, 5:38 AM.

Details

Reviewers
royger
mhorne
Summary

xen_intr_release_isrc() should be an internal function cleaning
*everything* up. As such having a handler should not be a problem and
what could actually be concerning is a non-zero reference count.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 43551
Build 40439: arc lint + arc unit

Event Timeline

This seems rather more appropriate. xen_intr_release_isrc() now releases everything and internal functions no longer need to call xen_intr_unbind() to get the handler removed. One could add a KASSERT() for isrc->xi_refcount == 0, this would require xen_intr_release_isrc() to zero the count in case of failure though.