Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 18298
b: refs/heads/master
c: 69eebed
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Jan 13, 2006
1 parent d102fc7 commit e299e30
Show file tree
Hide file tree
Showing 17 changed files with 285 additions and 30 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: dca80b962a811a0454d779ab6250b59446a8c86c
refs/heads/master: 69eebed240b32377b9034551f1b8c4ae2774ceb6
4 changes: 2 additions & 2 deletions trunk/drivers/net/bonding/bond_alb.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,9 @@ static void tlb_clear_slave(struct bonding *bond, struct slave *slave, int save_
index = next_index;
}

_unlock_tx_hashtbl(bond);

tlb_init_slave(slave);

_unlock_tx_hashtbl(bond);
}

/* Must be called before starting the monitor timer */
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/bonding/bonding.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
#include "bond_3ad.h"
#include "bond_alb.h"

#define DRV_VERSION "3.0.0"
#define DRV_RELDATE "November 8, 2005"
#define DRV_VERSION "3.0.1"
#define DRV_RELDATE "January 9, 2006"
#define DRV_NAME "bonding"
#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"

Expand Down
32 changes: 29 additions & 3 deletions trunk/drivers/net/e100.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,10 @@
* TODO:
* o several entry points race with dev->close
* o check for tx-no-resources/stop Q races with tx clean/wake Q
*
* FIXES:
* 2005/12/02 - Michael O'Donnell <Michael.ODonnell at stratus dot com>
* - Stratus87247: protect MDI control register manipulations
*/

#include <linux/config.h>
Expand Down Expand Up @@ -578,6 +582,7 @@ struct nic {
u16 leds;
u16 eeprom_wc;
u16 eeprom[256];
spinlock_t mdio_lock;
};

static inline void e100_write_flush(struct nic *nic)
Expand Down Expand Up @@ -876,15 +881,35 @@ static u16 mdio_ctrl(struct nic *nic, u32 addr, u32 dir, u32 reg, u16 data)
{
u32 data_out = 0;
unsigned int i;
unsigned long flags;


/*
* Stratus87247: we shouldn't be writing the MDI control
* register until the Ready bit shows True. Also, since
* manipulation of the MDI control registers is a multi-step
* procedure it should be done under lock.
*/
spin_lock_irqsave(&nic->mdio_lock, flags);
for (i = 100; i; --i) {
if (readl(&nic->csr->mdi_ctrl) & mdi_ready)
break;
udelay(20);
}
if (unlikely(!i)) {
printk("e100.mdio_ctrl(%s) won't go Ready\n",
nic->netdev->name );
spin_unlock_irqrestore(&nic->mdio_lock, flags);
return 0; /* No way to indicate timeout error */
}
writel((reg << 16) | (addr << 21) | dir | data, &nic->csr->mdi_ctrl);

for(i = 0; i < 100; i++) {
for (i = 0; i < 100; i++) {
udelay(20);
if((data_out = readl(&nic->csr->mdi_ctrl)) & mdi_ready)
if ((data_out = readl(&nic->csr->mdi_ctrl)) & mdi_ready)
break;
}

spin_unlock_irqrestore(&nic->mdio_lock, flags);
DPRINTK(HW, DEBUG,
"%s:addr=%d, reg=%d, data_in=0x%04X, data_out=0x%04X\n",
dir == mdi_read ? "READ" : "WRITE", addr, reg, data, data_out);
Expand Down Expand Up @@ -2562,6 +2587,7 @@ static int __devinit e100_probe(struct pci_dev *pdev,
/* locks must be initialized before calling hw_reset */
spin_lock_init(&nic->cb_lock);
spin_lock_init(&nic->cmd_lock);
spin_lock_init(&nic->mdio_lock);

/* Reset the device before pci_set_master() in case device is in some
* funky state and has an interrupt pending - hint: we don't have the
Expand Down
6 changes: 5 additions & 1 deletion trunk/drivers/net/gianfar.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/udp.h>
#include <linux/in.h>

#include <asm/io.h>
#include <asm/irq.h>
Expand Down Expand Up @@ -398,12 +399,15 @@ static int init_phy(struct net_device *dev)
priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT ?
SUPPORTED_1000baseT_Full : 0;
struct phy_device *phydev;
char phy_id[BUS_ID_SIZE];

priv->oldlink = 0;
priv->oldspeed = 0;
priv->oldduplex = -1;

phydev = phy_connect(dev, priv->einfo->bus_id, &adjust_link, 0);
snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, priv->einfo->bus_id, priv->einfo->phy_id);

phydev = phy_connect(dev, phy_id, &adjust_link, 0);

if (IS_ERR(phydev)) {
printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name);
Expand Down
5 changes: 4 additions & 1 deletion trunk/drivers/net/gianfar_mii.c
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ int gfar_mdio_probe(struct device *dev)
struct gianfar_mdio_data *pdata;
struct gfar_mii *regs;
struct mii_bus *new_bus;
struct resource *r;
int err = 0;

if (NULL == dev)
Expand All @@ -151,8 +152,10 @@ int gfar_mdio_probe(struct device *dev)
return -ENODEV;
}

r = platform_get_resource(pdev, IORESOURCE_MEM, 0);

/* Set the PHY base address */
regs = (struct gfar_mii *) ioremap(pdata->paddr,
regs = (struct gfar_mii *) ioremap(r->start,
sizeof (struct gfar_mii));

if (NULL == regs) {
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/phy/mdio_bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ int mdiobus_register(struct mii_bus *bus)

phydev->dev.parent = bus->dev;
phydev->dev.bus = &mdio_bus_type;
sprintf(phydev->dev.bus_id, "phy%d:%d", bus->id, i);
snprintf(phydev->dev.bus_id, BUS_ID_SIZE, PHY_ID_FMT, bus->id, i);

phydev->bus = bus;

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/phy/phy.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
*/
void phy_print_status(struct phy_device *phydev)
{
pr_info("%s: Link is %s", phydev->dev.bus_id,
pr_info("PHY: %s - Link is %s", phydev->dev.bus_id,
phydev->link ? "Up" : "Down");
if (phydev->link)
printk(" - %d/%s", phydev->speed,
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/net/tulip/uli526x.c
Original file line number Diff line number Diff line change
Expand Up @@ -1689,9 +1689,9 @@ MODULE_AUTHOR("Peer Chen, peer.chen@uli.com.tw");
MODULE_DESCRIPTION("ULi M5261/M5263 fast ethernet driver");
MODULE_LICENSE("GPL");

MODULE_PARM(debug, "i");
MODULE_PARM(mode, "i");
MODULE_PARM(cr6set, "i");
module_param(debug, int, 0644);
module_param(mode, int, 0);
module_param(cr6set, int, 0);
MODULE_PARM_DESC(debug, "ULi M5261/M5263 enable debugging (0-1)");
MODULE_PARM_DESC(mode, "ULi M5261/M5263: Bit 0: 10/100Mbps, bit 2: duplex, bit 8: HomePNA");

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/via-velocity.c
Original file line number Diff line number Diff line change
Expand Up @@ -791,7 +791,7 @@ static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi
#endif

if (vptr->flags & VELOCITY_FLAGS_TX_CSUM) {
dev->features |= NETIF_F_HW_CSUM;
dev->features |= NETIF_F_IP_CSUM;
}

ret = register_netdev(dev);
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ config IPW2200_DEBUG

config AIRO
tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
depends on NET_RADIO && ISA_DMA_API && (PCI || BROKEN)
depends on NET_RADIO && ISA_DMA_API && CRYPTO && (PCI || BROKEN)
---help---
This is the standard Linux driver to support Cisco/Aironet ISA and
PCI 802.11 wireless cards.
Expand Down
Loading

0 comments on commit e299e30

Please sign in to comment.