rem: uint8 packet[PS2_MAX_PACKET_SIZE];
context: ps2_mouse_read(mouse_movement *pos){	status_t status;	uint8 packet[PS2_MAX_PACKET_SIZE];			TRACE(("ps2_mouse_read()\n"));	status = acquire_sem_etc(sMouseSem, 1, B_CAN_INTERRUPT, 0);	if (status < B_OK)		return status;		status = cbuf_memcpy_from_chain(packet, sMouseChain, 0, sPacketSize);		if (status < B_OK) {		TRACE(("error copying buffer\n"));		return status;	}		ps2_packet_to_movement(packet, pos);  		return B_OK;		}