Thread (1 message) 1 message, 1 author, 2015-08-13

Re: [PATCH] genet:Fix error handling in the function bcmgenet_fini_gma

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2015-08-13 04:13:50
Also in: lkml

Le 08/12/15 19:27, Nicholas Krause a écrit :
This fixes error handing in the function bcmgenet_fini_gma to
properly check if its internal call to the function
bcm_genet_teardown has failed by returning a error code and if
so return immediately to this function's caller with a return
statement as this function call can no longer continue without
issues arising from the call to the function bcm_genet_teardown.
NACK, this is not a good idea, there are specific reasons why the DMA
teardown can fail, e.g: when no bandwidth has been allocated at the
memory controller level, and we still want to keep tearing down and
freeing up resources while we reconfigure the controller one way or the
other, this can happen while debugging a system, and this is specific to
how GENET is integrated on Broadcom BCM7xxx SoCs.

Also, if you ever need to submit more patches, please look at the git
log history and use consistent prefixes, for this driver this would be
"net: bcmgenet: blah blah"
quoted hunk
Signed-off-by: Nicholas Krause <redacted>
---
 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 64c1e9d..50e6183 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2180,7 +2180,8 @@ static void bcmgenet_fini_dma(struct bcmgenet_priv *priv)
 	bcmgenet_fini_tx_napi(priv);
 
 	/* disable DMA */
-	bcmgenet_dma_teardown(priv);
+	if (bcmgenet_dma_teardown(priv))
+		return;
 
 	for (i = 0; i < priv->num_tx_bds; i++) {
 		if (priv->tx_cbs[i].skb != NULL) {

-- 
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help