diff options
| -rw-r--r-- | drivers/ata/sata_dwc_460ex.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c index 0a9a774a7e1e..5c4237452f50 100644 --- a/drivers/ata/sata_dwc_460ex.c +++ b/drivers/ata/sata_dwc_460ex.c | |||
| @@ -1329,7 +1329,7 @@ static int sata_dwc_port_start(struct ata_port *ap) | |||
| 1329 | dev_err(ap->dev, "%s: dma_alloc_coherent failed\n", | 1329 | dev_err(ap->dev, "%s: dma_alloc_coherent failed\n", |
| 1330 | __func__); | 1330 | __func__); |
| 1331 | err = -ENOMEM; | 1331 | err = -ENOMEM; |
| 1332 | goto CLEANUP; | 1332 | goto CLEANUP_ALLOC; |
| 1333 | } | 1333 | } |
| 1334 | } | 1334 | } |
| 1335 | 1335 | ||
| @@ -1349,15 +1349,13 @@ static int sata_dwc_port_start(struct ata_port *ap) | |||
| 1349 | /* Clear any error bits before libata starts issuing commands */ | 1349 | /* Clear any error bits before libata starts issuing commands */ |
| 1350 | clear_serror(); | 1350 | clear_serror(); |
| 1351 | ap->private_data = hsdevp; | 1351 | ap->private_data = hsdevp; |
| 1352 | dev_dbg(ap->dev, "%s: done\n", __func__); | ||
| 1353 | return 0; | ||
| 1352 | 1354 | ||
| 1355 | CLEANUP_ALLOC: | ||
| 1356 | kfree(hsdevp); | ||
| 1353 | CLEANUP: | 1357 | CLEANUP: |
| 1354 | if (err) { | 1358 | dev_dbg(ap->dev, "%s: fail. ap->id = %d\n", __func__, ap->print_id); |
| 1355 | sata_dwc_port_stop(ap); | ||
| 1356 | dev_dbg(ap->dev, "%s: fail\n", __func__); | ||
| 1357 | } else { | ||
| 1358 | dev_dbg(ap->dev, "%s: done\n", __func__); | ||
| 1359 | } | ||
| 1360 | |||
| 1361 | return err; | 1359 | return err; |
| 1362 | } | 1360 | } |
| 1363 | 1361 | ||
