rem: dprintf("(failed)\n");
add: TRACE(("(failed)\n"));
context: vesa_init(vbe_info_block *info, video_mode **_standardMode){	if (vesa_get_vbe_info_block(info) != B_OK)		return B_ERROR;	// fill mode list	video_mode *standardMode = NULL;	int32 i = 0;	while (true) {		uint16 mode = ((uint16 *)info->mode_list)[i++];		if (mode == 0xffff)			break;		dprintf("  %lx: ", mode);		struct vbe_mode_info modeInfo;		if (vesa_get_mode_info(mode, &modeInfo) == B_OK) {			dprintf("%ld x %ld x %ld (a = %ld, mem = %ld, phy = %lx, p = %ld, b = %ld)\n",				modeInfo.width, modeInfo.height, modeInfo.bits_per_pixel, modeInfo.attributes,				modeInfo.memory_model, modeInfo.physical_base, modeInfo.num_planes,				modeInfo.num_banks);			const uint32 requiredAttributes = MODE_ATTR_AVAILABLE | MODE_ATTR_GRAPHICS_MODE								| MODE_ATTR_COLOR_MODE | MODE_ATTR_LINEAR_BUFFER;			if (modeInfo.width >= 640				&& modeInfo.physical_base != 0				&& modeInfo.num_planes == 1				&& (modeInfo.memory_model == MODE_MEMORY_PACKED_PIXEL					|| modeInfo.memory_model == MODE_MEMORY_DIRECT_COLOR)				&& (modeInfo.attributes & requiredAttributes) == requiredAttributes) {				// this mode fits our needs				video_mode *videoMode = (video_mode *)malloc(sizeof(struct video_mode));				if (videoMode == NULL)					continue;				videoMode->mode = mode;				videoMode->width = modeInfo.width;				videoMode->height = modeInfo.height;				videoMode->bits_per_pixel = modeInfo.bits_per_pixel;				// ToDo: for now, only accept 8 bit modes as standard				if (standardMode == NULL && modeInfo.bits_per_pixel == 8)					standardMode = videoMode;				else if (standardMode != NULL) {					// switch to the one with the higher resolution					// ToDo: is that always a good idea?					if (modeInfo.width > standardMode->width)						standardMode = videoMode;				}				list_add_item(&sModeList, videoMode);			}		} else			dprintf("(failed)\n");	}	if (standardMode == NULL) {		// no usable VESA mode found...		return B_ERROR;	}	*_standardMode = standardMode;	return B_OK;}