Loading drivers/usb/gadget/function/f_gsi.c +7 −5 Original line number Diff line number Diff line Loading @@ -1939,9 +1939,11 @@ static int gsi_alloc_trb_buffer(struct f_gsi *gsi) { u32 len_in = 0, len_out = 0; int ret = 0; struct device *dev; log_event_dbg("allocate trb's buffer\n"); dev = gsi->d_port.gadget->dev.parent; if (gsi->d_port.in_ep && !gsi->d_port.in_request.buf_base_addr) { log_event_dbg("IN: num_bufs:=%zu, buf_len=%zu\n", gsi->d_port.in_request.num_bufs, Loading @@ -1950,7 +1952,7 @@ static int gsi_alloc_trb_buffer(struct f_gsi *gsi) len_in = gsi->d_port.in_request.buf_len * gsi->d_port.in_request.num_bufs; gsi->d_port.in_request.buf_base_addr = dma_zalloc_coherent(gsi->d_port.gadget->dev.parent, dma_zalloc_coherent(dev->parent, len_in, &gsi->d_port.in_request.dma, GFP_KERNEL); if (!gsi->d_port.in_request.buf_base_addr) { dev_err(&gsi->d_port.gadget->dev, Loading @@ -1969,7 +1971,7 @@ static int gsi_alloc_trb_buffer(struct f_gsi *gsi) len_out = gsi->d_port.out_request.buf_len * gsi->d_port.out_request.num_bufs; gsi->d_port.out_request.buf_base_addr = dma_zalloc_coherent(gsi->d_port.gadget->dev.parent, dma_zalloc_coherent(dev->parent, len_out, &gsi->d_port.out_request.dma, GFP_KERNEL); if (!gsi->d_port.out_request.buf_base_addr) { dev_err(&gsi->d_port.gadget->dev, Loading @@ -1985,7 +1987,7 @@ static int gsi_alloc_trb_buffer(struct f_gsi *gsi) fail: if (len_in && gsi->d_port.in_request.buf_base_addr) { dma_free_coherent(gsi->d_port.gadget->dev.parent, len_in, dma_free_coherent(dev->parent, len_in, gsi->d_port.in_request.buf_base_addr, gsi->d_port.in_request.dma); gsi->d_port.in_request.buf_base_addr = NULL; Loading @@ -2004,7 +2006,7 @@ static void gsi_free_trb_buffer(struct f_gsi *gsi) gsi->d_port.out_request.buf_base_addr) { len = gsi->d_port.out_request.buf_len * gsi->d_port.out_request.num_bufs; dma_free_coherent(gsi->d_port.gadget->dev.parent, len, dma_free_coherent(gsi->d_port.gadget->dev.parent->parent, len, gsi->d_port.out_request.buf_base_addr, gsi->d_port.out_request.dma); gsi->d_port.out_request.buf_base_addr = NULL; Loading @@ -2014,7 +2016,7 @@ static void gsi_free_trb_buffer(struct f_gsi *gsi) gsi->d_port.in_request.buf_base_addr) { len = gsi->d_port.in_request.buf_len * gsi->d_port.in_request.num_bufs; dma_free_coherent(gsi->d_port.gadget->dev.parent, len, dma_free_coherent(gsi->d_port.gadget->dev.parent->parent, len, gsi->d_port.in_request.buf_base_addr, gsi->d_port.in_request.dma); gsi->d_port.in_request.buf_base_addr = NULL; Loading Loading
drivers/usb/gadget/function/f_gsi.c +7 −5 Original line number Diff line number Diff line Loading @@ -1939,9 +1939,11 @@ static int gsi_alloc_trb_buffer(struct f_gsi *gsi) { u32 len_in = 0, len_out = 0; int ret = 0; struct device *dev; log_event_dbg("allocate trb's buffer\n"); dev = gsi->d_port.gadget->dev.parent; if (gsi->d_port.in_ep && !gsi->d_port.in_request.buf_base_addr) { log_event_dbg("IN: num_bufs:=%zu, buf_len=%zu\n", gsi->d_port.in_request.num_bufs, Loading @@ -1950,7 +1952,7 @@ static int gsi_alloc_trb_buffer(struct f_gsi *gsi) len_in = gsi->d_port.in_request.buf_len * gsi->d_port.in_request.num_bufs; gsi->d_port.in_request.buf_base_addr = dma_zalloc_coherent(gsi->d_port.gadget->dev.parent, dma_zalloc_coherent(dev->parent, len_in, &gsi->d_port.in_request.dma, GFP_KERNEL); if (!gsi->d_port.in_request.buf_base_addr) { dev_err(&gsi->d_port.gadget->dev, Loading @@ -1969,7 +1971,7 @@ static int gsi_alloc_trb_buffer(struct f_gsi *gsi) len_out = gsi->d_port.out_request.buf_len * gsi->d_port.out_request.num_bufs; gsi->d_port.out_request.buf_base_addr = dma_zalloc_coherent(gsi->d_port.gadget->dev.parent, dma_zalloc_coherent(dev->parent, len_out, &gsi->d_port.out_request.dma, GFP_KERNEL); if (!gsi->d_port.out_request.buf_base_addr) { dev_err(&gsi->d_port.gadget->dev, Loading @@ -1985,7 +1987,7 @@ static int gsi_alloc_trb_buffer(struct f_gsi *gsi) fail: if (len_in && gsi->d_port.in_request.buf_base_addr) { dma_free_coherent(gsi->d_port.gadget->dev.parent, len_in, dma_free_coherent(dev->parent, len_in, gsi->d_port.in_request.buf_base_addr, gsi->d_port.in_request.dma); gsi->d_port.in_request.buf_base_addr = NULL; Loading @@ -2004,7 +2006,7 @@ static void gsi_free_trb_buffer(struct f_gsi *gsi) gsi->d_port.out_request.buf_base_addr) { len = gsi->d_port.out_request.buf_len * gsi->d_port.out_request.num_bufs; dma_free_coherent(gsi->d_port.gadget->dev.parent, len, dma_free_coherent(gsi->d_port.gadget->dev.parent->parent, len, gsi->d_port.out_request.buf_base_addr, gsi->d_port.out_request.dma); gsi->d_port.out_request.buf_base_addr = NULL; Loading @@ -2014,7 +2016,7 @@ static void gsi_free_trb_buffer(struct f_gsi *gsi) gsi->d_port.in_request.buf_base_addr) { len = gsi->d_port.in_request.buf_len * gsi->d_port.in_request.num_bufs; dma_free_coherent(gsi->d_port.gadget->dev.parent, len, dma_free_coherent(gsi->d_port.gadget->dev.parent->parent, len, gsi->d_port.in_request.buf_base_addr, gsi->d_port.in_request.dma); gsi->d_port.in_request.buf_base_addr = NULL; Loading