diff mbox series

[1/3] Revert "usb: host: fotg210: Use dma_pool_zalloc"

Message ID 20210627125747.127646-2-kelly.devilliv@gmail.com
State New
Headers show
Series usb: host: fotg210: fix malfunctions in usb camera scenario | expand

Commit Message

Kelly Devilliv June 27, 2021, 12:57 p.m. UTC
This reverts commit cb6a0db8fdc12433ed4281331de0c3923dc2807b for the
same reason as commit 43b78f1155c868208a413082179251f5fba78153 in the
ehci-hcd driver.

Alan writes:
    What you can't see just from reading the patch is that in both
    cases (ehci->itd_pool and ehci->sitd_pool) there are two
    allocation paths -- the two branches of an "if" statement -- and
    only one of the paths calls dma_pool_[z]alloc.  However, the
    memset is needed for both paths, and so it can't be eliminated.
    Given that it must be present, there's no advantage to calling
    dma_pool_zalloc rather than dma_pool_alloc.

Signed-off-by: Kelly Devilliv <kelly.devilliv@gmail.com>
---
 drivers/usb/host/fotg210-hcd.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
index 9c2eda0918e1..bb50a7a7318a 100644
--- a/drivers/usb/host/fotg210-hcd.c
+++ b/drivers/usb/host/fotg210-hcd.c
@@ -1857,9 +1857,11 @@  static struct fotg210_qh *fotg210_qh_alloc(struct fotg210_hcd *fotg210,
 	qh = kzalloc(sizeof(*qh), GFP_ATOMIC);
 	if (!qh)
 		goto done;
-	qh->hw = dma_pool_zalloc(fotg210->qh_pool, flags, &dma);
+	qh->hw = (struct fotg210_qh_hw *)
+		dma_pool_alloc(fotg210->qh_pool, flags, &dma);
 	if (!qh->hw)
 		goto fail;
+	memset(qh->hw, 0, sizeof(*qh->hw));
 	qh->qh_dma = dma;
 	INIT_LIST_HEAD(&qh->qtd_list);
 
@@ -4111,7 +4113,7 @@  static int itd_urb_transaction(struct fotg210_iso_stream *stream,
 		} else {
 alloc_itd:
 			spin_unlock_irqrestore(&fotg210->lock, flags);
-			itd = dma_pool_zalloc(fotg210->itd_pool, mem_flags,
+			itd = dma_pool_alloc(fotg210->itd_pool, mem_flags,
 					&itd_dma);
 			spin_lock_irqsave(&fotg210->lock, flags);
 			if (!itd) {
@@ -4121,6 +4123,7 @@  static int itd_urb_transaction(struct fotg210_iso_stream *stream,
 			}
 		}
 
+		memset(itd, 0, sizeof(*itd));
 		itd->itd_dma = itd_dma;
 		list_add(&itd->itd_list, &sched->td_list);
 	}