[atheros] add missing bits & bytes from r22412
authorAlexandros C. Couloumbis <alex@ozo.com>
Fri, 30 Jul 2010 09:59:13 +0000 (09:59 +0000)
committerAlexandros C. Couloumbis <alex@ozo.com>
Fri, 30 Jul 2010 09:59:13 +0000 (09:59 +0000)
SVN-Revision: 22416

target/linux/atheros/patches-2.6.32/110-ar2313_ethernet.patch
target/linux/atheros/patches-2.6.33/110-ar2313_ethernet.patch
target/linux/atheros/patches-2.6.34/110-ar2313_ethernet.patch
target/linux/atheros/patches-2.6.35/110-ar2313_ethernet.patch

index 7e6bc91a24f7bb427cea5b245563e3145569bf09..22fadd05fd3e4595070bf88f6f8292e0997d27ca 100644 (file)
@@ -25,7 +25,7 @@
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
-@@ -0,0 +1,1266 @@
+@@ -0,0 +1,1278 @@
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
++static void ar231x_tx_timeout(struct net_device *dev);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
 +      .ndo_change_mtu         = eth_change_mtu,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
 +      .ndo_change_mtu         = eth_change_mtu,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
++      .ndo_tx_timeout         = ar231x_tx_timeout,
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
 +      return 0;
 +}
 +
 +      return 0;
 +}
 +
++static void ar231x_tx_timeout(struct net_device *dev)
++{
++      struct ar231x_private *sp = netdev_priv(dev);
++      unsigned long flags;
++
++      spin_lock_irqsave(&sp->lock, flags);
++      ar231x_restart(dev);
++      spin_unlock_irqrestore(&sp->lock, flags);
++}
++
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);
index 0f1f2e35bb3ea564a0a37aae142883df15d41de3..9732bc04f77a3c0035fa2658843fff40cef01fa6 100644 (file)
@@ -25,7 +25,7 @@
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
-@@ -0,0 +1,1266 @@
+@@ -0,0 +1,1278 @@
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
++static void ar231x_tx_timeout(struct net_device *dev);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
 +      .ndo_change_mtu         = eth_change_mtu,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
 +      .ndo_change_mtu         = eth_change_mtu,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
++      .ndo_tx_timeout         = ar231x_tx_timeout,
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
 +      return 0;
 +}
 +
 +      return 0;
 +}
 +
++static void ar231x_tx_timeout(struct net_device *dev)
++{
++      struct ar231x_private *sp = netdev_priv(dev);
++      unsigned long flags;
++
++      spin_lock_irqsave(&sp->lock, flags);
++      ar231x_restart(dev);
++      spin_unlock_irqrestore(&sp->lock, flags);
++}
++
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);
index 7db1d992b17bf7eb7e397c5b7675909adc04e5c1..2dfef958f98aeeb7c376dc0b6dcb3526f7189179 100644 (file)
@@ -25,7 +25,7 @@
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
-@@ -0,0 +1,1266 @@
+@@ -0,0 +1,1278 @@
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
++static void ar231x_tx_timeout(struct net_device *dev);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
 +      .ndo_change_mtu         = eth_change_mtu,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
 +      .ndo_change_mtu         = eth_change_mtu,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
++      .ndo_tx_timeout         = ar231x_tx_timeout,
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
 +      return 0;
 +}
 +
 +      return 0;
 +}
 +
++static void ar231x_tx_timeout(struct net_device *dev)
++{
++      struct ar231x_private *sp = netdev_priv(dev);
++      unsigned long flags;
++
++      spin_lock_irqsave(&sp->lock, flags);
++      ar231x_restart(dev);
++      spin_unlock_irqrestore(&sp->lock, flags);
++}
++
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);
index 58bcdd36a4b723a55716bc57b9a5d295d06e7caf..ddd3eb1d395dae7bf0208b9da8d6b3b28d236ac4 100644 (file)
@@ -25,7 +25,7 @@
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
-@@ -0,0 +1,1266 @@
+@@ -0,0 +1,1278 @@
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
++static void ar231x_tx_timeout(struct net_device *dev);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
 +      .ndo_change_mtu         = eth_change_mtu,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
 +      .ndo_change_mtu         = eth_change_mtu,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
++      .ndo_tx_timeout         = ar231x_tx_timeout,
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
 +      return 0;
 +}
 +
 +      return 0;
 +}
 +
++static void ar231x_tx_timeout(struct net_device *dev)
++{
++      struct ar231x_private *sp = netdev_priv(dev);
++      unsigned long flags;
++
++      spin_lock_irqsave(&sp->lock, flags);
++      ar231x_restart(dev);
++      spin_unlock_irqrestore(&sp->lock, flags);
++}
++
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);