/* Context: This function must not be called in interrupt context.  */
void isc_unregister(unsigned int isc)
/* Context: This function must not be called in interrupt context.  */
void isc_unregister(unsigned int isc)
{
	spin_lock(&isc_ref_lock);
	if (isc > MAX_ISC || isc_refs[isc] == 0) {
		WARN_ON(1);
		goto out_unlock;
	}
	if (isc_refs[isc] == 1)
		ctl_clear_bit(6, 31 - isc);
	isc_refs[isc]--;
out_unlock:
	spin_unlock(&isc_ref_lock);
}