[PATCH] usb: cdnsp: Use common error handling code in cdnsp_segment_alloc()
Markus Elfring <[email protected]> Wed, 10 Jun 2026 13:36:09 +0200
| Newsgroups | org.kernel.vger.kernel-janitors,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <[email protected]> |
From: Markus Elfring <[email protected]> Date: Wed, 10 Jun 2026 13:30:08 +0200 Use an additional label so that a bit of exception handling can be better reused at the end of this function implementation. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <[email protected]> --- drivers/usb/cdns3/cdnsp-mem.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/usb/cdns3/cdnsp-mem.c b/drivers/usb/cdns3/cdnsp-mem.c index 5d8cdc91927d..7696e570f769 100644 --- a/drivers/usb/cdns3/cdnsp-mem.c +++ b/drivers/usb/cdns3/cdnsp-mem.c @@ -40,10 +40,8 @@ static struct cdnsp_segment *cdnsp_segment_alloc(struct cdnsp_device *pdev, return NULL; seg->trbs = dma_pool_zalloc(pdev->segment_pool, flags, &dma); - if (!seg->trbs) { - kfree(seg); - return NULL; - } + if (!seg->trbs) + goto free_seg; if (max_packet) { seg->bounce_buf = kzalloc(max_packet, flags | GFP_DMA); @@ -63,6 +61,7 @@ static struct cdnsp_segment *cdnsp_segment_alloc(struct cdnsp_device *pdev, free_dma: dma_pool_free(pdev->segment_pool, seg->trbs, dma); +free_seg: kfree(seg); return NULL; -- 2.54.0