]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Fri, 28 Jun 2024 13:15:58 +0000 (16:15 +0300)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 26 Jul 2024 12:21:29 +0000 (14:21 +0200)
Definitely condition dma_get_cache_alignment * defined value > 256
during driver initialization is not reason to BUG_ON(). Turn that to
graceful error out with -EINVAL.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Link: https://lore.kernel.org/r/20240628131559.502822-3-jarkko.nikula@linux.intel.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master/mipi-i3c-hci/dma.c

index 7a56ae4a5ddf116245137d16fd7f4214479347ea..9bdfe40bc1e1e646aba2c48dd1c1309616b8e4b5 100644 (file)
@@ -279,7 +279,10 @@ static int hci_dma_init(struct i3c_hci *hci)
 
                rh->ibi_chunk_sz = dma_get_cache_alignment();
                rh->ibi_chunk_sz *= IBI_CHUNK_CACHELINES;
-               BUG_ON(rh->ibi_chunk_sz > 256);
+               if (rh->ibi_chunk_sz > 256) {
+                       ret = -EINVAL;
+                       goto err_out;
+               }
 
                ibi_status_ring_sz = rh->ibi_status_sz * rh->ibi_status_entries;
                ibi_data_ring_sz = rh->ibi_chunk_sz * rh->ibi_chunks_total;