offset++; if (!(offset%8)) return -ENOSPC; 
/* If we run out of vectors on large boxen, must share them. */ offset = (offset + 1) % 8; 
int assign_irq_vector(int irq){	static int current_vector = FIRST_DEVICE_VECTOR, offset = 0;	BUG_ON(irq >= NR_IRQ_VECTORS);	if (IO_APIC_VECTOR(irq) > 0)		return IO_APIC_VECTOR(irq);next:	current_vector += 8;	if (current_vector == IA32_SYSCALL_VECTOR)		goto next;	if (current_vector >= FIRST_SYSTEM_VECTOR) {		offset++;		if (!(offset%8))			return -ENOSPC;		current_vector = FIRST_DEVICE_VECTOR + offset;	}	vector_irq[current_vector] = irq;	if (irq != AUTO_ASSIGN)		IO_APIC_VECTOR(irq) = current_vector;	return current_vector;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6004e1b7effcbb385a6b7c790e4b8008682cf679/io_apic.c/clean/arch/x86_64/kernel/io_apic.c