diff options
author | Luka Perkov <luka@openwrt.org> | 2013-10-03 02:50:00 +0000 |
---|---|---|
committer | Luka Perkov <luka@openwrt.org> | 2013-10-03 02:50:00 +0000 |
commit | 38936426f7d4d569f918cb2ca646263b4c38e25b (patch) | |
tree | 66668ff6f447e0a95ee40e3cb8cbe3e211af3874 /target/linux/kirkwood/patches-3.10/0027-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch | |
parent | 97b15fc45be3d44b1d7700e92433703a139fb97c (diff) | |
download | upstream-38936426f7d4d569f918cb2ca646263b4c38e25b.tar.gz upstream-38936426f7d4d569f918cb2ca646263b4c38e25b.tar.bz2 upstream-38936426f7d4d569f918cb2ca646263b4c38e25b.zip |
kirkwood: update patches and configuration (3.10)
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 38295
Diffstat (limited to 'target/linux/kirkwood/patches-3.10/0027-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch')
-rw-r--r-- | target/linux/kirkwood/patches-3.10/0027-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/target/linux/kirkwood/patches-3.10/0027-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch b/target/linux/kirkwood/patches-3.10/0027-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch deleted file mode 100644 index 1928a7c54a..0000000000 --- a/target/linux/kirkwood/patches-3.10/0027-net-mv643xx_eth-do-not-use-port-number-as-platform-d.patch +++ /dev/null @@ -1,66 +0,0 @@ -From eac92acae29cfab34785d61cbb3218e88e487b77 Mon Sep 17 00:00:00 2001 -From: Jonas Gorski <jogo@openwrt.org> -Date: Mon, 8 Jul 2013 00:35:12 +0200 -Subject: [PATCH 27/29] net: mv643xx_eth: do not use port number as platform - device id - -The port number is only local to the ethernet block, not global, so -there can be two ethernet blocks both using the same port, like -kirkwood with both using port 0. - -Fix this by using the array index offset for the allocated platform -devices as the id. - -Signed-off-by: Jonas Gorski <jogo@openwrt.org> ---- - drivers/net/ethernet/marvell/mv643xx_eth.c | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c -index 004a250..e57d292 100644 ---- a/drivers/net/ethernet/marvell/mv643xx_eth.c -+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c -@@ -2483,6 +2483,7 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev, - struct resource res; - const char *mac_addr; - int ret; -+ int dev_num = 0; - - memset(&ppd, 0, sizeof(ppd)); - ppd.shared = pdev; -@@ -2503,6 +2504,14 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev, - return -EINVAL; - } - -+ while (dev_num < 3 && port_platdev[dev_num]) -+ dev_num++; -+ -+ if (dev_num == 3) { -+ dev_err(&pdev->dev, "too many ports registered\n"); -+ return -EINVAL; -+ } -+ - mac_addr = of_get_mac_address(pnp); - if (mac_addr) - memcpy(ppd.mac_addr, mac_addr, 6); -@@ -2521,7 +2530,7 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev, - of_property_read_u32(pnp, "duplex", &ppd.duplex); - } - -- ppdev = platform_device_alloc(MV643XX_ETH_NAME, ppd.port_number); -+ ppdev = platform_device_alloc(MV643XX_ETH_NAME, dev_num); - if (!ppdev) - return -ENOMEM; - ppdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); -@@ -2538,7 +2547,7 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev, - if (ret) - goto port_err; - -- port_platdev[ppd.port_number] = ppdev; -+ port_platdev[dev_num] = ppdev; - - return 0; - --- -1.8.4.rc1 - |