summaryrefslogtreecommitdiff
path: root/target/linux/brcm63xx/patches-3.8/420-BCM63XX-allow-enetsw-without-tx-irq.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm63xx/patches-3.8/420-BCM63XX-allow-enetsw-without-tx-irq.patch')
-rw-r--r--target/linux/brcm63xx/patches-3.8/420-BCM63XX-allow-enetsw-without-tx-irq.patch69
1 files changed, 0 insertions, 69 deletions
diff --git a/target/linux/brcm63xx/patches-3.8/420-BCM63XX-allow-enetsw-without-tx-irq.patch b/target/linux/brcm63xx/patches-3.8/420-BCM63XX-allow-enetsw-without-tx-irq.patch
deleted file mode 100644
index b17af98..0000000
--- a/target/linux/brcm63xx/patches-3.8/420-BCM63XX-allow-enetsw-without-tx-irq.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 625894c377ba266c0044675b53f05d65db6355b6 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@gmail.com>
-Date: Sun, 8 Jul 2012 13:07:52 +0200
-Subject: [PATCH 38/84] BCM63XX: allow enetsw without tx irq
-
----
- arch/mips/bcm63xx/dev-enet.c | 2 ++
- drivers/net/ethernet/broadcom/bcm63xx_enet.c | 18 +++++++++++-------
- 2 files changed, 13 insertions(+), 7 deletions(-)
-
---- a/arch/mips/bcm63xx/dev-enet.c
-+++ b/arch/mips/bcm63xx/dev-enet.c
-@@ -236,6 +236,8 @@ bcm63xx_enetsw_register(const struct bcm
- enetsw_res[0].end += RSET_ENETSW_SIZE - 1;
- enetsw_res[1].start = bcm63xx_get_irq_number(IRQ_ENETSW_RXDMA0);
- enetsw_res[2].start = bcm63xx_get_irq_number(IRQ_ENETSW_TXDMA0);
-+ if (!enetsw_res[2].start)
-+ enetsw_res[2].start = -1;
-
- memcpy(bcm63xx_enetsw_device.dev.platform_data, pd, sizeof (*pd));
-
---- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -2151,10 +2151,12 @@ static int bcm_enetsw_open(struct net_de
- if (ret)
- goto out_freeirq;
-
-- ret = request_irq(priv->irq_tx, bcm_enet_isr_dma,
-- IRQF_DISABLED, dev->name, dev);
-- if (ret)
-- goto out_freeirq_rx;
-+ if (priv->irq_tx != -1) {
-+ ret = request_irq(priv->irq_tx, bcm_enet_isr_dma,
-+ IRQF_DISABLED, dev->name, dev);
-+ if (ret)
-+ goto out_freeirq_rx;
-+ }
-
- /* allocate rx dma ring */
- size = priv->rx_ring_size * sizeof(struct bcm_enet_desc);
-@@ -2376,7 +2378,8 @@ out_free_rx_ring:
- priv->rx_desc_cpu, priv->rx_desc_dma);
-
- out_freeirq_tx:
-- free_irq(priv->irq_tx, dev);
-+ if (priv->irq_tx != -1)
-+ free_irq(priv->irq_tx, dev);
-
- out_freeirq_rx:
- free_irq(priv->irq_rx, dev);
-@@ -2433,7 +2436,8 @@ static int bcm_enetsw_stop(struct net_de
- priv->rx_desc_cpu, priv->rx_desc_dma);
- dma_free_coherent(kdev, priv->tx_desc_alloc_size,
- priv->tx_desc_cpu, priv->tx_desc_dma);
-- free_irq(priv->irq_tx, dev);
-+ if (priv->irq_tx != -1)
-+ free_irq(priv->irq_tx, dev);
- free_irq(priv->irq_rx, dev);
-
- return 0;
-@@ -2716,7 +2720,7 @@ static int bcm_enetsw_probe(struct platf
- res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- irq_rx = platform_get_irq(pdev, 0);
- irq_tx = platform_get_irq(pdev, 1);
-- if (!res_mem || irq_rx < 0 || irq_tx < 0)
-+ if (!res_mem || irq_rx < 0)
- return -ENODEV;
-
- ret = 0;