diff options
author | Iyappan Subramanian <isubramanian@apm.com> | 2017-03-22 04:18:05 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-23 05:17:14 +0300 |
commit | 1ffa8a7aa516473b3575ee8c30f4e0b1bb29a7d8 (patch) | |
tree | 650bf7ddbc178cf26c54217103cca27014bc4314 /drivers/net/ethernet/apm/xgene-v2 | |
parent | b2180a8f28dbd66d6593a70ead791ad9b347bc74 (diff) | |
download | linux-1ffa8a7aa516473b3575ee8c30f4e0b1bb29a7d8.tar.xz |
drivers: net: xgene-v2: misc fixes
Fixed review comments from the previous patch-set.
- changed return value check of platform_get_irq() to < 0
- replaced devm_request(free)_irq() calls by request(free)_irq() since
they are called from open() and close()
- changed sizeof(struct mystruct) to sizeof(*mystruct)
- reduced indentation on tx_timeout()
Signed-off-by: Iyappan Subramanian <isubramanian@apm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/apm/xgene-v2')
-rw-r--r-- | drivers/net/ethernet/apm/xgene-v2/main.c | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/drivers/net/ethernet/apm/xgene-v2/main.c b/drivers/net/ethernet/apm/xgene-v2/main.c index e764e58453dd..0f2ad50f3bd7 100644 --- a/drivers/net/ethernet/apm/xgene-v2/main.c +++ b/drivers/net/ethernet/apm/xgene-v2/main.c @@ -66,9 +66,8 @@ static int xge_get_resources(struct xge_pdata *pdata) } ret = platform_get_irq(pdev, 0); - if (ret <= 0) { - dev_err(dev, "Unable to get ENET IRQ\n"); - ret = ret ? : -ENXIO; + if (ret < 0) { + dev_err(dev, "Unable to get irq\n"); return ret; } pdata->resources.irq = ret; @@ -156,13 +155,12 @@ static irqreturn_t xge_irq(const int irq, void *data) static int xge_request_irq(struct net_device *ndev) { struct xge_pdata *pdata = netdev_priv(ndev); - struct device *dev = &pdata->pdev->dev; int ret; snprintf(pdata->irq_name, IRQ_ID_SIZE, "%s", ndev->name); - ret = devm_request_irq(dev, pdata->resources.irq, xge_irq, - 0, pdata->irq_name, pdata); + ret = request_irq(pdata->resources.irq, xge_irq, 0, pdata->irq_name, + pdata); if (ret) netdev_err(ndev, "Failed to request irq %s\n", pdata->irq_name); @@ -172,9 +170,8 @@ static int xge_request_irq(struct net_device *ndev) static void xge_free_irq(struct net_device *ndev) { struct xge_pdata *pdata = netdev_priv(ndev); - struct device *dev = &pdata->pdev->dev; - devm_free_irq(dev, pdata->resources.irq, pdata); + free_irq(pdata->resources.irq, pdata); } static bool is_tx_slot_available(struct xge_raw_desc *raw_desc) @@ -424,7 +421,7 @@ static struct xge_desc_ring *xge_create_desc_ring(struct net_device *ndev) struct xge_desc_ring *ring; u16 size; - ring = kzalloc(sizeof(struct xge_desc_ring), GFP_KERNEL); + ring = kzalloc(sizeof(*ring), GFP_KERNEL); if (!ring) return NULL; @@ -436,7 +433,7 @@ static struct xge_desc_ring *xge_create_desc_ring(struct net_device *ndev) if (!ring->desc_addr) goto err; - ring->pkt_info = kcalloc(XGENE_ENET_NUM_DESC, sizeof(struct pkt_info), + ring->pkt_info = kcalloc(XGENE_ENET_NUM_DESC, sizeof(*ring->pkt_info), GFP_KERNEL); if (!ring->pkt_info) goto err; @@ -598,28 +595,28 @@ static void xge_timeout(struct net_device *ndev) rtnl_lock(); - if (netif_running(ndev)) { - netif_carrier_off(ndev); - netif_stop_queue(ndev); - xge_intr_disable(pdata); - napi_disable(&pdata->napi); + if (!netif_running(ndev)) + goto out; - xge_wr_csr(pdata, DMATXCTRL, 0); - xge_txc_poll(ndev); - xge_free_pending_skb(ndev); - xge_wr_csr(pdata, DMATXSTATUS, ~0U); + netif_stop_queue(ndev); + xge_intr_disable(pdata); + napi_disable(&pdata->napi); - xge_setup_desc(pdata->tx_ring); - xge_update_tx_desc_addr(pdata); - xge_mac_init(pdata); + xge_wr_csr(pdata, DMATXCTRL, 0); + xge_txc_poll(ndev); + xge_free_pending_skb(ndev); + xge_wr_csr(pdata, DMATXSTATUS, ~0U); - napi_enable(&pdata->napi); - xge_intr_enable(pdata); - xge_mac_enable(pdata); - netif_start_queue(ndev); - netif_carrier_on(ndev); - } + xge_setup_desc(pdata->tx_ring); + xge_update_tx_desc_addr(pdata); + xge_mac_init(pdata); + + napi_enable(&pdata->napi); + xge_intr_enable(pdata); + xge_mac_enable(pdata); + netif_start_queue(ndev); +out: rtnl_unlock(); } @@ -653,7 +650,7 @@ static int xge_probe(struct platform_device *pdev) struct xge_pdata *pdata; int ret; - ndev = alloc_etherdev(sizeof(struct xge_pdata)); + ndev = alloc_etherdev(sizeof(*pdata)); if (!ndev) return -ENOMEM; |