Re: [PATCH v4 07/10] net/ps3_gelic: Add new routine gelic_unmap_link

2021-08-04 Thread Christophe Leroy




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 


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(>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;
  }
  



[PATCH v4 07/10] net/ps3_gelic: Add new routine gelic_unmap_link

2021-07-23 Thread Geoff Levand
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 
---
 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(>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;
 }
 
-- 
2.25.1