rem: if (dma_boundary == ~0 && max_sg_block_size >= map->total_len)
add: if (dma_boundary == ~0UL && max_sg_block_size >= map->total_len)
context: blkman_map_iovecs(iovec *vec, size_t vec_count, size_t vec_offset, size_t len,	phys_vecs *map, size_t max_phys_entries, size_t dma_boundary,	size_t max_sg_block_size){	status_t res;	size_t total_len;	size_t cur_idx;	SHOW_FLOW0( 3, "" );	if ((res = get_iovec_memory_map( vec, vec_count, vec_offset, len,					map->vec, max_phys_entries, &map->num, &map->total_len)) < B_OK)		return res;	if (dma_boundary == ~0 && max_sg_block_size >= map->total_len) 		return B_OK;	SHOW_FLOW(3, "Checking violation of dma boundary 0x%x and entry size 0x%x", 		(int)dma_boundary, (int)max_sg_block_size);	total_len = 0;	for (cur_idx = 0; cur_idx < map->num; ++cur_idx) {		addr_t max_len;		// calculate space upto next dma boundary crossing		max_len = (dma_boundary + 1) - ((addr_t)map->vec[cur_idx].address & dma_boundary);		// restrict size per sg item		max_len = min(max_len, max_sg_block_size);		SHOW_FLOW(4, "addr=%p, size=%x, max_len=%x, idx=%d, num=%d", 			map->vec[cur_idx].address, (int)map->vec[cur_idx].size,			(int)max_len, (int)cur_idx, (int)map->num);		if (max_len < map->vec[cur_idx].size) {			// split sg block			map->num = min(map->num + 1, max_phys_entries);			memmove(&map->vec[cur_idx + 1], &map->vec[cur_idx], 				(map->num - 1 - cur_idx) * sizeof(physical_entry));			map->vec[cur_idx].size = max_len;			map->vec[cur_idx + 1].address = (void *)((addr_t)map->vec[cur_idx + 1].address + max_len);			map->vec[cur_idx + 1].size -= max_len;		}		total_len += map->vec[cur_idx].size;	}	// we really have to update total_len - due to block splitting,	// some other blocks may got discarded if s/g list became too long	map->total_len = total_len;	return B_OK;}