/* This is ruthless, it doesn't care what state the card is in it will completely reset the adapter.  */
static void xl_reset(struct net_device *dev)
/* This is ruthless, it doesn't care what state the card is in it will completely reset the adapter.  */
static void xl_reset(struct net_device *dev)
{
	struct xl_private *xl_priv=netdev_priv(dev);
	u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
	unsigned long t; 
	writew( GLOBAL_RESET, xl_mmio + MMIO_COMMAND ) ; 
	t=jiffies;
	while (readw(xl_mmio + MMIO_INTSTATUS) & INTSTAT_CMD_IN_PROGRESS) { 
		if (time_after(jiffies, t + 40 * HZ)) {
			printk(KERN_ERR "3COM 3C359 Velocity XL  card not responding.\n");
			break ; 
		}
	}
}