b44_init_rings(bp);
        b44_init_hw(bp);
-       bp->flags |= B44_FLAG_INIT_COMPLETE;
 
        netif_carrier_off(dev);
        b44_check_phy(bp);
 #endif
        b44_halt(bp);
        b44_free_rings(bp);
-       bp->flags &= ~B44_FLAG_INIT_COMPLETE;
        netif_carrier_off(bp->dev);
 
        spin_unlock_irq(&bp->lock);
 {
        struct b44 *bp = netdev_priv(dev);
 
-       if (!(bp->flags & B44_FLAG_INIT_COMPLETE))
+       if (!netif_running(dev))
                return -EAGAIN;
        cmd->supported = (SUPPORTED_Autoneg);
        cmd->supported |= (SUPPORTED_100baseT_Half |
 {
        struct b44 *bp = netdev_priv(dev);
 
-       if (!(bp->flags & B44_FLAG_INIT_COMPLETE))
+       if (!netif_running(dev))
                return -EAGAIN;
 
        /* We do not support gigabit. */
 
 
        u32                     dma_offset;
        u32                     flags;
-#define B44_FLAG_INIT_COMPLETE 0x00000001
 #define B44_FLAG_BUGGY_TXPTR   0x00000002
 #define B44_FLAG_REORDER_BUG   0x00000004
 #define B44_FLAG_PAUSE_AUTO    0x00008000