CS89X0: Add cleanup for dma after fail]
Subsystems (2)
PATCH 1/2 CS89X0: Add cleanup for dma after fail]
Jeff, will you pick up this one?
I also cc Andrew, because his name is in the code.
From: Wang Chen <[email protected]>
After request_dma() succeeding, any error path should do free_dma().
Signed-off-by Wang Chen <[email protected]>
--- drivers/net/cs89x0.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)
drivers/net/cs89x0.c +7 -3
@@ -1394,7 +1394,11 @@ net_open(struct net_device *dev)#endif if (!result) {printk (KERN_ERR "%s: EEPROM is configured for unavailable media\n" , dev->name); - release_irq: +release_dma: +#if ALLOW_DMA +free_dma (dev->dma); +#endif +release_irq: #if ALLOW_DMArelease_dma_buff (lp );#endif
@@ -1442,12 +1446,12 @@ net_open(struct net_device *dev)if ((result =detect_bnc (dev)) !=DETECTED_NONE )break ;printk (KERN_ERR "%s: no media detected\n" , dev->name); - goto release_irq; + goto release_dma; }switch (result) {case DETECTED_NONE :printk (KERN_ERR "%s: no network cable attached to configured media\n" , dev->name); - goto release_irq; + goto release_dma;case DETECTED_RJ45H :printk (KERN_INFO "%s: using half-duplex 10Base-T (RJ-45)\n" , dev->name);break ;
Signature · 1 line
1.5.4.rc3
Jeff Garzik
AppliedQuoted 30 lines · Wang Chen
Jeff, will you pick up this one?
I also cc Andrew, because his name is in the code.From: Wang Chen <[email protected]>
After
request_dma()succeeding, any error path should dofree_dma().Signed-off-by Wang Chen <[email protected]>--- drivers/net/cs89x0.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)drivers/net/cs89x0.c +5
-1@@ -1394,7 +1394,11 @@ net_open(struct net_device *dev)#endif if (!result) {printk (KERN_ERR "%s: EEPROM is configured for unavailable media\n" , dev->name); - release_irq: +release_dma: +#if ALLOW_DMA +free_dma (dev->dma); +#endif +release_irq: #if ALLOW_DMArelease_dma_buff (lp );#endif
drivers/net/cs89x0.c net_open(struct net_device *dev) · line 1450
Quoted 6 lines
drivers/net/cs89x0.c +1
-1@@ -1442,12 +1446,12 @@ net_open(struct net_device *dev)if ((result =detect_bnc (dev)) !=DETECTED_NONE )break ;printk (KERN_ERR "%s: no media detected\n" , dev->name); - goto release_irq; + goto release_dma; }
applied