Message ID | 024b88e07095f00bc2eabfae2f526851600ee272.1627068552.git.geoff@infradead.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [v4,01/10] net/ps3_gelic: Add gelic_descr structures | expand |
Le 23/07/2021 à 22:31, Geoff Levand a écrit : > Put the common code for unmaping a link into its own routine, > gelic_unmap_link, and add some debugging checks. > > Signed-off-by: Geoff Levand <geoff@infradead.org> CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #31: FILE: drivers/net/ethernet/toshiba/ps3_gelic_net.c:300: + dma_unmap_single(dev, descr->link.cpu_addr, descr->link.size, + DMA_BIDIRECTIONAL); NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. Commit bcb1cb297705 ("net/ps3_gelic: Add new routine gelic_unmap_link") has style problems, please review. NOTE: Ignored message types: ARCH_INCLUDE_LINUX BIT_MACRO COMPARISON_TO_NULL DT_SPLIT_BINDING_PATCH EMAIL_SUBJECT FILE_PATH_CHANGES GLOBAL_INITIALISERS LINE_SPACING MULTIPLE_ASSIGNMENTS > --- > drivers/net/ethernet/toshiba/ps3_gelic_net.c | 23 +++++++++++++++----- > 1 file changed, 17 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/ethernet/toshiba/ps3_gelic_net.c b/drivers/net/ethernet/toshiba/ps3_gelic_net.c > index 85fc1915c8be..e55aa9fecfeb 100644 > --- a/drivers/net/ethernet/toshiba/ps3_gelic_net.c > +++ b/drivers/net/ethernet/toshiba/ps3_gelic_net.c > @@ -288,6 +288,21 @@ void gelic_card_down(struct gelic_card *card) > mutex_unlock(&card->updown_lock); > } > > +static void gelic_unmap_link(struct device *dev, struct gelic_descr *descr) > +{ > + BUG_ON_DEBUG(descr->hw_regs.payload.dev_addr); > + BUG_ON_DEBUG(descr->hw_regs.payload.size); > + > + BUG_ON_DEBUG(!descr->link.cpu_addr); > + BUG_ON_DEBUG(!descr->link.size); > + > + dma_unmap_single(dev, descr->link.cpu_addr, descr->link.size, > + DMA_BIDIRECTIONAL); > + > + descr->link.cpu_addr = 0; > + descr->link.size = 0; > +} > + > /** > * gelic_card_free_chain - free descriptor chain > * @card: card structure > @@ -301,9 +316,7 @@ static void gelic_card_free_chain(struct gelic_card *card, > > for (descr = descr_in; descr && descr->link.cpu_addr; > descr = descr->next) { > - dma_unmap_single(dev, descr->link.cpu_addr, descr->link.size, > - DMA_BIDIRECTIONAL); > - descr->link.cpu_addr = 0; > + gelic_unmap_link(dev, descr); > } > } > > @@ -364,9 +377,7 @@ static int gelic_card_init_chain(struct gelic_card *card, > iommu_error: > for (i--, descr--; 0 <= i; i--, descr--) > if (descr->link.cpu_addr) > - dma_unmap_single(dev, descr->link.cpu_addr, > - descr->link.size, > - DMA_BIDIRECTIONAL); > + gelic_unmap_link(dev, descr); > return -ENOMEM; > } > >
diff --git a/drivers/net/ethernet/toshiba/ps3_gelic_net.c b/drivers/net/ethernet/toshiba/ps3_gelic_net.c index 85fc1915c8be..e55aa9fecfeb 100644 --- a/drivers/net/ethernet/toshiba/ps3_gelic_net.c +++ b/drivers/net/ethernet/toshiba/ps3_gelic_net.c @@ -288,6 +288,21 @@ void gelic_card_down(struct gelic_card *card) mutex_unlock(&card->updown_lock); } +static void gelic_unmap_link(struct device *dev, struct gelic_descr *descr) +{ + BUG_ON_DEBUG(descr->hw_regs.payload.dev_addr); + BUG_ON_DEBUG(descr->hw_regs.payload.size); + + BUG_ON_DEBUG(!descr->link.cpu_addr); + BUG_ON_DEBUG(!descr->link.size); + + dma_unmap_single(dev, descr->link.cpu_addr, descr->link.size, + DMA_BIDIRECTIONAL); + + descr->link.cpu_addr = 0; + descr->link.size = 0; +} + /** * gelic_card_free_chain - free descriptor chain * @card: card structure @@ -301,9 +316,7 @@ static void gelic_card_free_chain(struct gelic_card *card, for (descr = descr_in; descr && descr->link.cpu_addr; descr = descr->next) { - dma_unmap_single(dev, descr->link.cpu_addr, descr->link.size, - DMA_BIDIRECTIONAL); - descr->link.cpu_addr = 0; + gelic_unmap_link(dev, descr); } } @@ -364,9 +377,7 @@ static int gelic_card_init_chain(struct gelic_card *card, iommu_error: for (i--, descr--; 0 <= i; i--, descr--) if (descr->link.cpu_addr) - dma_unmap_single(dev, descr->link.cpu_addr, - descr->link.size, - DMA_BIDIRECTIONAL); + gelic_unmap_link(dev, descr); return -ENOMEM; }
Put the common code for unmaping a link into its own routine, gelic_unmap_link, and add some debugging checks. Signed-off-by: Geoff Levand <geoff@infradead.org> --- drivers/net/ethernet/toshiba/ps3_gelic_net.c | 23 +++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-)