From a26933cf779d6d59e729c9461dc6079fa3d42ada Mon Sep 17 00:00:00 2001 From: hauke Date: Mon, 7 Jan 2013 22:51:39 +0000 Subject: [PATCH] brcm47xx: BGMAC Driver corrections 1) Fix what appears to be a logic error in bgmac_phy_advertise. 2) Fix bgmac_ioctl to use passed phy_id; needed for switch-robo interface w/ the driver to work correctly. I still have the issue with the interface always being HD when the speed/duplex is set manually (e.g., echo "100FD" > /proc/switch/eth0/port/N/media). Signed-off-by: Nathan Hintz git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35052 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/brcm47xx/patches-3.6/750-bgmac.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/linux/brcm47xx/patches-3.6/750-bgmac.patch b/target/linux/brcm47xx/patches-3.6/750-bgmac.patch index 13698dbf74..7668ad38b7 100644 --- a/target/linux/brcm47xx/patches-3.6/750-bgmac.patch +++ b/target/linux/brcm47xx/patches-3.6/750-bgmac.patch @@ -608,7 +608,7 @@ + if (bgmac->phyaddr == BGMAC_PHY_NOREGS) + return; + -+ if (bgmac->autoneg) ++ if (!bgmac->autoneg) + return; + + /* Adv selected 10/100 speeds */ @@ -1097,13 +1097,13 @@ + case SIOCGMIIREG: + if (!netif_running(net_dev)) + return -EAGAIN; -+ data->val_out = bgmac_phy_read(bgmac, bgmac->phyaddr, ++ data->val_out = bgmac_phy_read(bgmac, data->phy_id, + data->reg_num & 0x1f); + return 0; + case SIOCSMIIREG: + if (!netif_running(net_dev)) + return -EAGAIN; -+ bgmac_phy_write(bgmac, bgmac->phyaddr, data->reg_num & 0x1f, ++ bgmac_phy_write(bgmac, data->phy_id, data->reg_num & 0x1f, + data->val_in); + return 0; + default: -- 2.11.0