mirror of https://github.com/hak5/openwrt-owl.git
parent
0624a9c4ea
commit
5f4c7746cd
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/arm/ixp4xx_eth.c
|
||||
+++ b/drivers/net/arm/ixp4xx_eth.c
|
||||
@@ -396,6 +396,53 @@ static void ixp4xx_adjust_link(struct ne
|
||||
@@ -396,6 +396,50 @@ static void ixp4xx_adjust_link(struct ne
|
||||
dev->name, port->speed, port->duplex ? "full" : "half");
|
||||
}
|
||||
|
||||
|
@ -24,9 +24,6 @@
|
|||
+
|
||||
+ port->phydev->irq = PHY_POLL;
|
||||
+
|
||||
+ printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy,
|
||||
+ npe_name(port->npe));
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
|
@ -54,7 +51,7 @@
|
|||
|
||||
static inline void debug_pkt(struct net_device *dev, const char *func,
|
||||
u8 *data, int len)
|
||||
@@ -1003,8 +1050,7 @@ static int eth_open(struct net_device *d
|
||||
@@ -1003,8 +1047,7 @@ static int eth_open(struct net_device *d
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -64,7 +61,7 @@
|
|||
|
||||
for (i = 0; i < ETH_ALEN; i++)
|
||||
__raw_writel(dev->dev_addr[i], &port->regs->hw_addr[i]);
|
||||
@@ -1125,7 +1171,7 @@ static int eth_close(struct net_device *
|
||||
@@ -1125,7 +1168,7 @@ static int eth_close(struct net_device *
|
||||
printk(KERN_CRIT "%s: unable to disable loopback\n",
|
||||
dev->name);
|
||||
|
||||
|
@ -73,7 +70,7 @@
|
|||
|
||||
if (!ports_open)
|
||||
qmgr_disable_irq(TXDONE_QUEUE);
|
||||
@@ -1151,7 +1197,6 @@ static int __devinit eth_init_one(struct
|
||||
@@ -1151,7 +1194,6 @@ static int __devinit eth_init_one(struct
|
||||
struct net_device *dev;
|
||||
struct eth_plat_info *plat = pdev->dev.platform_data;
|
||||
u32 regs_phys;
|
||||
|
@ -81,7 +78,7 @@
|
|||
int err;
|
||||
|
||||
if (!(dev = alloc_etherdev(sizeof(struct port))))
|
||||
@@ -1209,18 +1254,10 @@ static int __devinit eth_init_one(struct
|
||||
@@ -1209,18 +1251,10 @@ static int __devinit eth_init_one(struct
|
||||
__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
|
||||
udelay(50);
|
||||
|
||||
|
@ -102,7 +99,7 @@
|
|||
if ((err = register_netdev(dev)))
|
||||
goto err_phy_dis;
|
||||
|
||||
@@ -1247,7 +1284,7 @@ static int __devexit eth_remove_one(stru
|
||||
@@ -1247,7 +1281,7 @@ static int __devexit eth_remove_one(stru
|
||||
struct net_device *dev = platform_get_drvdata(pdev);
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -77,9 +77,17 @@
|
|||
static int ixp4xx_phy_connect(struct net_device *dev)
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
@@ -416,6 +431,10 @@ static int ixp4xx_phy_connect(struct net
|
||||
@@ -430,7 +445,6 @@ static void ixp4xx_phy_start(struct net_
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
||||
port->phydev->irq = PHY_POLL;
|
||||
- port->speed = 0; /* force "link up" message */
|
||||
phy_start(port->phydev);
|
||||
}
|
||||
|
||||
@@ -1258,6 +1272,10 @@ static int __devinit eth_init_one(struct
|
||||
if ((err = register_netdev(dev)))
|
||||
goto err_phy_dis;
|
||||
|
||||
+ port->link = 0;
|
||||
+ port->speed = 0;
|
||||
|
@ -88,11 +96,3 @@
|
|||
printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy,
|
||||
npe_name(port->npe));
|
||||
|
||||
@@ -433,7 +452,6 @@ static void ixp4xx_phy_start(struct net_
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
||||
- port->speed = 0; /* force "link up" message */
|
||||
phy_start(port->phydev);
|
||||
}
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
|
|||
snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, "0", plat->phy);
|
||||
port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0,
|
||||
PHY_INTERFACE_MODE_MII);
|
||||
@@ -445,21 +476,32 @@ static void ixp4xx_phy_disconnect(struct
|
||||
@@ -438,21 +469,32 @@ static void ixp4xx_phy_disconnect(struct
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
||||
|
@ -111,7 +111,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
|
|||
}
|
||||
|
||||
static inline void debug_pkt(struct net_device *dev, const char *func,
|
||||
@@ -831,6 +873,10 @@ static int eth_ioctl(struct net_device *
|
||||
@@ -824,6 +866,10 @@ static int eth_ioctl(struct net_device *
|
||||
|
||||
if (!netif_running(dev))
|
||||
return -EINVAL;
|
||||
|
@ -122,7 +122,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
|
|||
return phy_mii_ioctl(port->phydev, if_mii(req), cmd);
|
||||
}
|
||||
|
||||
@@ -850,18 +896,30 @@ static void ixp4xx_get_drvinfo(struct ne
|
||||
@@ -843,18 +889,30 @@ static void ixp4xx_get_drvinfo(struct ne
|
||||
static int ixp4xx_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4)
|
||||
|
||||
#define NAPI_WEIGHT 16
|
||||
@@ -1066,6 +1066,32 @@ static void destroy_queues(struct port *
|
||||
@@ -1059,6 +1059,32 @@ static void destroy_queues(struct port *
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@
|
|||
static int eth_open(struct net_device *dev)
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
@@ -1117,6 +1143,8 @@ static int eth_open(struct net_device *d
|
||||
@@ -1110,6 +1136,8 @@ static int eth_open(struct net_device *d
|
||||
if (npe_send_recv_message(port->npe, &msg, "ETH_SET_FIREWALL_MODE"))
|
||||
return -EIO;
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
|||
if ((err = request_queues(port)) != 0)
|
||||
return err;
|
||||
|
||||
@@ -1256,7 +1284,26 @@ static int eth_close(struct net_device *
|
||||
@@ -1249,7 +1277,26 @@ static int eth_close(struct net_device *
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/arm/ixp4xx_eth.c
|
||||
+++ b/drivers/net/arm/ixp4xx_eth.c
|
||||
@@ -396,6 +396,53 @@ static void ixp4xx_adjust_link(struct ne
|
||||
@@ -396,6 +396,50 @@ static void ixp4xx_adjust_link(struct ne
|
||||
dev->name, port->speed, port->duplex ? "full" : "half");
|
||||
}
|
||||
|
||||
|
@ -24,9 +24,6 @@
|
|||
+
|
||||
+ port->phydev->irq = PHY_POLL;
|
||||
+
|
||||
+ printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy,
|
||||
+ npe_name(port->npe));
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
|
@ -54,7 +51,7 @@
|
|||
|
||||
static inline void debug_pkt(struct net_device *dev, const char *func,
|
||||
u8 *data, int len)
|
||||
@@ -1005,8 +1052,7 @@ static int eth_open(struct net_device *d
|
||||
@@ -1005,8 +1049,7 @@ static int eth_open(struct net_device *d
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -64,7 +61,7 @@
|
|||
|
||||
for (i = 0; i < ETH_ALEN; i++)
|
||||
__raw_writel(dev->dev_addr[i], &port->regs->hw_addr[i]);
|
||||
@@ -1127,7 +1173,7 @@ static int eth_close(struct net_device *
|
||||
@@ -1127,7 +1170,7 @@ static int eth_close(struct net_device *
|
||||
printk(KERN_CRIT "%s: unable to disable loopback\n",
|
||||
dev->name);
|
||||
|
||||
|
@ -73,7 +70,7 @@
|
|||
|
||||
if (!ports_open)
|
||||
qmgr_disable_irq(TXDONE_QUEUE);
|
||||
@@ -1153,7 +1199,6 @@ static int __devinit eth_init_one(struct
|
||||
@@ -1153,7 +1196,6 @@ static int __devinit eth_init_one(struct
|
||||
struct net_device *dev;
|
||||
struct eth_plat_info *plat = pdev->dev.platform_data;
|
||||
u32 regs_phys;
|
||||
|
@ -81,7 +78,7 @@
|
|||
int err;
|
||||
|
||||
if (!(dev = alloc_etherdev(sizeof(struct port))))
|
||||
@@ -1211,18 +1256,10 @@ static int __devinit eth_init_one(struct
|
||||
@@ -1211,18 +1253,10 @@ static int __devinit eth_init_one(struct
|
||||
__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
|
||||
udelay(50);
|
||||
|
||||
|
@ -102,7 +99,7 @@
|
|||
if ((err = register_netdev(dev)))
|
||||
goto err_phy_dis;
|
||||
|
||||
@@ -1249,7 +1286,7 @@ static int __devexit eth_remove_one(stru
|
||||
@@ -1249,7 +1283,7 @@ static int __devexit eth_remove_one(stru
|
||||
struct net_device *dev = platform_get_drvdata(pdev);
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
||||
|
|
|
@ -77,9 +77,17 @@
|
|||
static int ixp4xx_phy_connect(struct net_device *dev)
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
@@ -416,6 +431,10 @@ static int ixp4xx_phy_connect(struct net
|
||||
@@ -430,7 +445,6 @@ static void ixp4xx_phy_start(struct net_
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
||||
port->phydev->irq = PHY_POLL;
|
||||
- port->speed = 0; /* force "link up" message */
|
||||
phy_start(port->phydev);
|
||||
}
|
||||
|
||||
@@ -1260,6 +1274,10 @@ static int __devinit eth_init_one(struct
|
||||
if ((err = register_netdev(dev)))
|
||||
goto err_phy_dis;
|
||||
|
||||
+ port->link = 0;
|
||||
+ port->speed = 0;
|
||||
|
@ -88,11 +96,3 @@
|
|||
printk(KERN_INFO "%s: MII PHY %i on %s\n", dev->name, plat->phy,
|
||||
npe_name(port->npe));
|
||||
|
||||
@@ -433,7 +452,6 @@ static void ixp4xx_phy_start(struct net_
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
||||
- port->speed = 0; /* force "link up" message */
|
||||
phy_start(port->phydev);
|
||||
}
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
|
|||
snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT, "0", plat->phy);
|
||||
port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0,
|
||||
PHY_INTERFACE_MODE_MII);
|
||||
@@ -445,21 +476,32 @@ static void ixp4xx_phy_disconnect(struct
|
||||
@@ -438,21 +469,32 @@ static void ixp4xx_phy_disconnect(struct
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
||||
|
@ -111,7 +111,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
|
|||
}
|
||||
|
||||
static inline void debug_pkt(struct net_device *dev, const char *func,
|
||||
@@ -833,6 +875,10 @@ static int eth_ioctl(struct net_device *
|
||||
@@ -826,6 +868,10 @@ static int eth_ioctl(struct net_device *
|
||||
|
||||
if (!netif_running(dev))
|
||||
return -EINVAL;
|
||||
|
@ -122,7 +122,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
|
|||
return phy_mii_ioctl(port->phydev, if_mii(req), cmd);
|
||||
}
|
||||
|
||||
@@ -852,18 +898,30 @@ static void ixp4xx_get_drvinfo(struct ne
|
||||
@@ -845,18 +891,30 @@ static void ixp4xx_get_drvinfo(struct ne
|
||||
static int ixp4xx_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4)
|
||||
|
||||
#define NAPI_WEIGHT 16
|
||||
@@ -1068,6 +1068,32 @@ static void destroy_queues(struct port *
|
||||
@@ -1061,6 +1061,32 @@ static void destroy_queues(struct port *
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@
|
|||
static int eth_open(struct net_device *dev)
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
@@ -1119,6 +1145,8 @@ static int eth_open(struct net_device *d
|
||||
@@ -1112,6 +1138,8 @@ static int eth_open(struct net_device *d
|
||||
if (npe_send_recv_message(port->npe, &msg, "ETH_SET_FIREWALL_MODE"))
|
||||
return -EIO;
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
|||
if ((err = request_queues(port)) != 0)
|
||||
return err;
|
||||
|
||||
@@ -1258,7 +1286,26 @@ static int eth_close(struct net_device *
|
||||
@@ -1251,7 +1279,26 @@ static int eth_close(struct net_device *
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue