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;