git: ad17102e4edf - stable/13 - isci: Propagate error from bus_dma_tag_create.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 13 May 2022 17:58:40 UTC
The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ad17102e4edf46140f4a0b874803097c9a5839af commit ad17102e4edf46140f4a0b874803097c9a5839af Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2022-04-06 23:45:28 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2022-05-13 17:43:02 +0000 isci: Propagate error from bus_dma_tag_create. Return error from isci_controller_allocate_memory if bus_dma_tag_create fails instead of ignoring the error. (cherry picked from commit bbfec32d156cec4c004f6f5148a074ba5f0a294d) --- sys/dev/isci/isci_controller.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/dev/isci/isci_controller.c b/sys/dev/isci/isci_controller.c index 9848f1bc8302..0c4773193e45 100644 --- a/sys/dev/isci/isci_controller.c +++ b/sys/dev/isci/isci_controller.c @@ -412,7 +412,6 @@ int isci_controller_allocate_memory(struct ISCI_CONTROLLER *controller) int error; device_t device = controller->isci->device; uint32_t max_segment_size = isci_io_request_get_max_io_size(); - uint32_t status = 0; struct ISCI_MEMORY *uncached_controller_memory = &controller->uncached_controller_memory; struct ISCI_MEMORY *cached_controller_memory = @@ -477,13 +476,16 @@ int isci_controller_allocate_memory(struct ISCI_CONTROLLER *controller) * will enable better performance than creating the DMA maps every time we get * an I/O. */ - status = bus_dma_tag_create(bus_get_dma_tag(device), 0x1, + error = bus_dma_tag_create(bus_get_dma_tag(device), 0x1, ISCI_DMA_BOUNDARY, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, isci_io_request_get_max_io_size(), SCI_MAX_SCATTER_GATHER_ELEMENTS, max_segment_size, 0, busdma_lock_mutex, &controller->lock, &controller->buffer_dma_tag); + if (error != 0) + return (error); + sci_pool_initialize(controller->request_pool); virtual_address = request_memory->virtual_address;