rem: if (pnp->get_attr_uint32(node, BLKDEV_DMA_ALIGNMENT, &bus->dma_params.alignment, true) != B_OK)
add: if (pnp->get_attr_uint32(node, B_BLOCK_DEVICE_DMA_ALIGNMENT, &bus->dma_params.alignment, true) != B_OK)
context: scsi_init_bus(device_node_handle node, void *user_cookie, void **cookie){	device_node_handle parent;	uint8 path_id;	scsi_bus_info *bus;	status_t res;	SHOW_FLOW0( 3, "" );	if (pnp->get_attr_uint8(node, SCSI_BUS_PATH_ID_ITEM, &path_id, false) != B_OK)		return B_ERROR;	bus = scsi_create_bus(node, path_id);	if (bus == NULL)		return B_NO_MEMORY;	// extract controller/protocoll restrictions from node	if (pnp->get_attr_uint32(node, BLKDEV_DMA_ALIGNMENT, &bus->dma_params.alignment, true) != B_OK)		bus->dma_params.alignment = 0;	if (pnp->get_attr_uint32(node, BLKDEV_MAX_BLOCKS_ITEM, &bus->dma_params.max_blocks, true) != B_OK)		bus->dma_params.max_blocks = 0xffffffff;	if (pnp->get_attr_uint32(node, BLKDEV_DMA_BOUNDARY, &bus->dma_params.dma_boundary, true) != B_OK)		bus->dma_params.dma_boundary = ~0;	if (pnp->get_attr_uint32(node, BLKDEV_MAX_SG_BLOCK_SIZE, &bus->dma_params.max_sg_block_size, true) != B_OK)		bus->dma_params.max_sg_block_size = 0xffffffff;	if (pnp->get_attr_uint32(node, BLKDEV_MAX_SG_BLOCKS, &bus->dma_params.max_sg_blocks, true) != B_OK)		bus->dma_params.max_sg_blocks = ~0;	// do some sanity check:	// (see blkman.c)	bus->dma_params.max_sg_block_size &= ~bus->dma_params.alignment;	if (bus->dma_params.alignment > B_PAGE_SIZE) {		SHOW_ERROR(0, "Alignment (0x%x) must be less then B_PAGE_SIZE",			(int)bus->dma_params.alignment);		res = B_ERROR;		goto err;	}	if (bus->dma_params.max_sg_block_size < 1) {		SHOW_ERROR(0, "Max s/g block size (0x%x) is too small",			(int)bus->dma_params.max_sg_block_size);		res = B_ERROR;		goto err;	}	if (bus->dma_params.dma_boundary < B_PAGE_SIZE - 1) {		SHOW_ERROR(0, "DMA boundary (0x%x) must be at least B_PAGE_SIZE",			(int)bus->dma_params.dma_boundary);		res = B_ERROR;		goto err;	}	if (bus->dma_params.max_blocks < 1 || bus->dma_params.max_sg_blocks < 1) {		SHOW_ERROR(0, "Max blocks (%d) and max s/g blocks (%d) must be at least 1",			(int)bus->dma_params.max_blocks, (int)bus->dma_params.max_sg_blocks);		res = B_ERROR;		goto err;	}	parent = pnp->get_parent(node);	res = pnp->init_driver(parent, bus, 		(driver_module_info **)&bus->interface, (void **)&bus->sim_cookie);	pnp->put_device_node(parent);	if (res != B_OK)		goto err;	// cache inquiry data	scsi_inquiry_path(bus, &bus->inquiry_data);	// get max. number of commands on bus	bus->left_slots = bus->inquiry_data.hba_queue_size;	SHOW_FLOW( 3, "Bus has %d slots", bus->left_slots );	*cookie = bus;	return B_OK;err:	scsi_destroy_bus(bus);	return res;}